public boolean addInvoked(Invokes aInvoked) { boolean wasAdded = false; if (invoked.contains(aInvoked)) { return false; } if (invoked.contains(aInvoked)) { return false; } if (invoked.contains(aInvoked)) { return false; } if (invoked.contains(aInvoked)) { return false; } BehaviouralElement existingInvokes = aInvoked.getInvokes(); boolean isNewInvokes = existingInvokes != null && !this.equals(existingInvokes); if (isNewInvokes) { aInvoked.setInvokes(this); } else { invoked.add(aInvoked); } wasAdded = true; return wasAdded; }