X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.databoard%2Fsrc%2Forg%2Fsimantics%2Fdataboard%2Fbinding%2Fimpl%2FTreeSetBinding.java;h=50028b3a164914a10d1d859f4d1e1a7f724f9190;hp=304b3cad4a4dc80e0150ca86618f6f27957abf51;hb=1956b6ed85e1df65c4df58e6cb0ac6aa296e6939;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/impl/TreeSetBinding.java b/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/impl/TreeSetBinding.java index 304b3cad4..50028b3a1 100644 --- a/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/impl/TreeSetBinding.java +++ b/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/impl/TreeSetBinding.java @@ -58,12 +58,15 @@ public class TreeSetBinding extends MapBinding { return false; } - @Override - public Object create() throws BindingException { - return new TreeSet( getKeyBinding() ); - } - - public Object create(Set initialSet) throws BindingException { + @Override + public Object create() throws BindingException { + return new TreeSet( getKeyBinding() ); + } + + public Object create(Set initialSet) throws BindingException { + if (initialSet instanceof TreeSet && ((TreeSet) initialSet).comparator() == getKeyBinding()) + return initialSet; + TreeSet result = new TreeSet(getKeyBinding()); result.addAll(initialSet); return result;