public boolean addAccess(Accesses aAccess) {
   boolean wasAdded = false;
   if (accesses.contains(aAccess)) {
     return false;
   }
   if (accesses.contains(aAccess)) {
     return false;
   }
   if (accesses.contains(aAccess)) {
     return false;
   }
   if (accesses.contains(aAccess)) {
     return false;
   }
   BehaviouralElement existingBehaviouralElement = aAccess.getBehaviouralElement();
   boolean isNewBehaviouralElement =
       existingBehaviouralElement != null && !this.equals(existingBehaviouralElement);
   if (isNewBehaviouralElement) {
     aAccess.setBehaviouralElement(this);
   } else {
     accesses.add(aAccess);
   }
   wasAdded = true;
   return wasAdded;
 }
 public boolean removeAccess(Accesses aAccess) {
   boolean wasRemoved = false;
   // Unable to remove aAccess, as it must always have a behaviouralElement
   if (!this.equals(aAccess.getBehaviouralElement())) {
     accesses.remove(aAccess);
     wasRemoved = true;
   }
   return wasRemoved;
 }