public boolean addIsParameterOf(IsParameterOf aIsParameterOf) {
   boolean wasAdded = false;
   if (isParameterOfs.contains(aIsParameterOf)) {
     return false;
   }
   if (isParameterOfs.contains(aIsParameterOf)) {
     return false;
   }
   if (isParameterOfs.contains(aIsParameterOf)) {
     return false;
   }
   if (isParameterOfs.contains(aIsParameterOf)) {
     return false;
   }
   BehaviouralElement existingBehaviouralElement = aIsParameterOf.getBehaviouralElement();
   boolean isNewBehaviouralElement =
       existingBehaviouralElement != null && !this.equals(existingBehaviouralElement);
   if (isNewBehaviouralElement) {
     aIsParameterOf.setBehaviouralElement(this);
   } else {
     isParameterOfs.add(aIsParameterOf);
   }
   wasAdded = true;
   return wasAdded;
 }
 public boolean removeIsParameterOf(IsParameterOf aIsParameterOf) {
   boolean wasRemoved = false;
   // Unable to remove aIsParameterOf, as it must always have a behaviouralElement
   if (!this.equals(aIsParameterOf.getBehaviouralElement())) {
     isParameterOfs.remove(aIsParameterOf);
     wasRemoved = true;
   }
   return wasRemoved;
 }
 public void delete() {
   for (int i = invoked.size(); i > 0; i--) {
     Invokes aInvoked = invoked.get(i - 1);
     aInvoked.delete();
   }
   for (int i = invokes.size(); i > 0; i--) {
     Invokes aInvoke = invokes.get(i - 1);
     aInvoke.delete();
   }
   for (int i = accesses.size(); i > 0; i--) {
     Accesses aAccess = accesses.get(i - 1);
     aAccess.delete();
   }
   for (int i = isParameterOfs.size(); i > 0; i--) {
     IsParameterOf aIsParameterOf = isParameterOfs.get(i - 1);
     aIsParameterOf.delete();
   }
   super.delete();
 }