code: @Override
      public void removeAssociation(String assocName) throws Exception {
          if (!this.started) {
              throw new Exception(String.format("Management=%s not started", this.name));
          }
  
          if (assocName == null) {
              throw new Exception("Association name cannot be null");
          }
  
          synchronized (this) {
              Association association = this.associations.get(assocName);
  
              if (association == null) {
                  throw new Exception(String.format("No Association found for name=%s", assocName));
              }
  
              if (association.isStarted()) {
                  throw new Exception(String.format("Association name=%s is started. Stop before removing", assocName));
              }
  
              NettyAssociationMap<String, Association> newAssociations = new NettyAssociationMap<String, Association>();
              newAssociations.putAll(this.associations);
              newAssociations.remove(assocName);
              this.associations = newAssociations;
              // this.associations.remove(assocName);
  
              if (((NettyAssociationImpl) association).getAssociationType() == AssociationType.SERVER) {
                  for (FastList.Node<Server> n = this.servers.head(), end = this.servers.tail(); (n = n.getNext()) != end;) {
                      Server serverTemp = n.getValue();
                      if (serverTemp.getName().equals(association.getServerName())) {
                          FastList<String> newAssociations2 = new FastList<String>();
                          newAssociations2.addAll(((NettyServerImpl) serverTemp).associations);
                          newAssociations2.remove(assocName);
                          ((NettyServerImpl) serverTemp).associations = newAssociations2;
                          break;
                      }
                  }
              }
  
              this.store();
  
              for (ManagementEventListener lstr : managementEventListeners) {
                  try {
                      lstr.onAssociationRemoved(association);
                  } catch (Throwable ee) {
                      logger.error("Exception while invoking onAssociationRemoved", ee);
                  }
              }
          }
  
      }
docs: /*
  (non-Javadoc)
  
  @see org.mobicents.protocols.api.Management#removeAssociation(java.lang.String )