code: @Override
      public void start() throws Exception {
          if (this.started) {
              logger.warn(String.format("management=%s is already started", this.name));
              return;
          }
  
          synchronized (this) {
              this.persistFile.clear();
  
              if (persistDir != null) {
                  this.persistFile.append(persistDir).append(File.separator).append(this.name).append("_")
                          .append(PERSIST_FILE_NAME);
              } else {
                  persistFile.append(System.getProperty(SCTP_PERSIST_DIR_KEY, System.getProperty(USER_DIR_KEY)))
                          .append(File.separator).append(this.name).append("_").append(PERSIST_FILE_NAME);
              }
  
              logger.info(String.format("SCTP configuration file path %s", persistFile.toString()));
  
              this.bossGroup = new NioEventLoopGroup(1, new DefaultThreadFactory("Sctp-BossGroup-" + this.name));
              // TODO: make a thread count for WorkerGroup configurable
              this.workerGroup = new NioEventLoopGroup(0, new DefaultThreadFactory("Sctp-WorkerGroup-" + this.name));
              this.clientExecutor = new ScheduledThreadPoolExecutor(1, new DefaultThreadFactory("Sctp-ClientExecutorGroup-"
                      + this.name));
  
              // this.nettyClientOpsThread = new NettyClientOpsThread(this);
              // (new Thread(this.nettyClientOpsThread )).start();
  
              try {
                  this.load();
              } catch (FileNotFoundException e) {
                  logger.warn(String.format("Failed to load the SCTP configuration file. \n%s", e.getMessage()));
              }
  
              this.started = true;
  
              if (logger.isInfoEnabled()) {
                  logger.info(String.format("Started SCTP Management=%s", this.name));
              }
  
              for (ManagementEventListener lstr : managementEventListeners) {
                  try {
                      lstr.onServiceStarted();
                  } catch (Throwable ee) {
                      logger.error("Exception while invoking onServiceStarted", ee);
                  }
              }
          }
      }
docs: /*
  (non-Javadoc)
  
  @see org.mobicents.protocols.api.Management#start()