@Override public Object clone() { StorageInstruction clone = new StorageInstruction(); for (String node : nodes) { clone.clearProperties(node); for (Iterator<Integer> ite = propertiesIterator(node); ite.hasNext(); ) clone.addProperties(node, ite.next()); } return clone; }
@Override public boolean equals(Object obj) { if (obj instanceof StorageInstruction) { StorageInstruction psi = (StorageInstruction) obj; boolean out = (this.isProdStorageActivated() == psi.isProdStorageActivated() && this.getProdStorageFrequencyValue() == psi.getProdStorageFrequencyValue()); if (out) { for (String node : nodes) { out = (out && getPropertiesCount(node) == psi.getPropertiesCount(node)); } } if (out) { for (String node : nodes) { Integer[] a = toArrayProperties(node, null); for (int i = 0; i < a.length; i++) out = (out && psi.containsProperty(node, a[i])); } } return out; } return false; }