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;
 }