[467672] Memory leak on VisualBindingManager.fontCache

To avoid memory leak we create a standard java collection instead of
keeping reference to format EList paramter.

Bug: 467672
Change-Id: Idf38176752deaafa92d36aaed00c495aead4fa4c
Signed-off-by: Esteban Dugueperoux <esteban.dugueperoux@obeo.fr>
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/api/color/VisualBindingManager.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/api/color/VisualBindingManager.java
index 6e2f069..28bd835 100644
--- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/api/color/VisualBindingManager.java
+++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/api/color/VisualBindingManager.java
@@ -11,10 +11,12 @@
 package org.eclipse.sirius.ui.tools.api.color;
 
 import java.util.Collection;
+import java.util.EnumSet;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.EObject;
@@ -707,12 +709,12 @@
     private static final class FontStyleDescriptor {
         final String name;
 
-        final List<FontFormat> format;
+        final Set<FontFormat> format;
 
         final int size;
 
         public FontStyleDescriptor(final List<FontFormat> format, final int size, final String name) {
-            this.format = format;
+            this.format = format.isEmpty() ? null : EnumSet.copyOf(format);
             this.size = size;
             this.name = name;
         }