<Run Simulator> may create a corrupted-copy of the original model
If a model contains an input port with array type(eg. int[3]) and an initial value-list with duplicated items(e.g [1,1,1]), when the model is sent to simulator via “Run Simulator”, the actual simulated input port contains a corrupted init.value with only unique items(e.g. [1]).
This bug happens when LibraryService calls EcoreUtil.copy() to create a copy for the select model/component. The root cause is because many expression terms override hash code() and equals() method. During the copy, the EcoreUtil thinks the duplicated elements (e.g. the 2nd and 3rd item “1”) are already copied and therefore reused the first copied item.
We need rethink, whether we need overrides hash code() and equals() method.
(from redmine: issue id 2049, created on 2014-07-15, closed on 2014-07-24)