protected IManagedContainer createContainer() {
    IManagedContainer container = ContainerUtil.createContainer();
    Net4jUtil.prepareContainer(container);
    if (useJVMTransport()) {
      JVMUtil.prepareContainer(container);
    } else {
      if (useSSLTransport()) {
        SSLUtil.prepareContainer(container);
      } else {
        TCPUtil.prepareContainer(container);
      }
    }

    return container;
  }
  protected IAcceptor getAcceptor() {
    if (acceptor == null) {
      if (useJVMTransport()) {
        acceptor = JVMUtil.getAcceptor(container, "default"); // $NON-NLS-1$
      } else {
        if (useSSLTransport()) {
          acceptor = SSLUtil.getAcceptor(container, null);
        } else {
          acceptor = TCPUtil.getAcceptor(container, null);
        }
      }
    }

    return acceptor;
  }
  protected IConnector getConnector() {
    if (connector == null) {
      if (useJVMTransport()) {
        connector = JVMUtil.getConnector(container, "default"); // $NON-NLS-1$
      } else {
        if (useSSLTransport()) {
          // cannot use same container with the acceptor.
          connector = SSLUtil.getConnector(separateContainer, HOST);
        } else {
          connector = TCPUtil.getConnector(container, HOST);
        }
      }
    }

    return connector;
  }