code: @Override
      public void start(final StartContext context) throws StartException {
          AbstractKeyManagerService keyManagers = injectedKeyManagers.getOptionalValue();
          TrustManager[] trustManagers = injectedtrustManagers.getOptionalValue();
  
          try {
              SSLContext sslContext = SSLContext.getInstance(protocol);
              if(keyManagers != null && keyManagers.isLazy()) {
                  sslContext = new LazyInitSSLContext(sslContext, injectedKeyManagers, injectedtrustManagers, enabledCipherSuites, enabledProtocols);
              } else {
                  sslContext.init(keyManagers != null ? keyManagers.getKeyManagers() : null, trustManagers, null);
                  sslContext = wrapSslContext(sslContext, enabledCipherSuites, enabledProtocols);
              }
  
              this.theSSLContext = sslContext;
  
          } catch (NoSuchAlgorithmException e) {
              throw DomainManagementLogger.ROOT_LOGGER.unableToStart(e);
          } catch (KeyManagementException e) {
              throw DomainManagementLogger.ROOT_LOGGER.unableToStart(e);
          }
      }
docs: /*
  Service Lifecycle Methods