docs: @Override
      public void onStartup(Set<Class<?>> clazzes, ServletContext servletContext) throws ServletException {
  
          try {
              WsocHandlerImpl wsocServletHandler = new WsocHandlerImpl();
              ((WebApp31) servletContext).registerWebSocketHandler(wsocServletHandler);
  
              ServerContainerExt serverContainer = new ServerContainerExt();
  
              servletContext.setAttribute(WebSocketContainerManager.SERVER_CONTAINER_ATTRIBUTE, serverContainer);
  
              WsocServletContextListener wscl = new WsocServletContextListener();
              wscl.initialize(serverContainer.getEndpointManager());
              servletContext.addListener(wscl);
  
              WsocHttpSessionListener listener = new WsocHttpSessionListener();
              listener.initialize(serverContainer.getEndpointManager());
              servletContext.addListener(listener);
  
              if (clazzes != null) {
                  String endPointContext = servletContext.getContextPath();
                  Set<EndpointHelper> annotatedEndpoints = getAnnotatedServerEndpointClasses(clazzes, endPointContext, serverContainer);
                  Set<EndpointHelper> programmaticEndpoints = getServerEndpointClasses(clazzes, endPointContext);
                  Set<Class<? extends ServerApplicationConfig>> serverAppConfigs = getServerApplicationConfigClasses(clazzes);
  
                  Set<EndpointHelper> helpers = determineEndpoints(annotatedEndpoints, programmaticEndpoints, serverAppConfigs);
  
                  for (EndpointHelper helper : helpers) {
                      serverContainer.addEndpoint(helper);
                  }
              }
              //  findbugs wanted runtime exception first...
          } catch (RuntimeException e) {
              throw e;
          } catch (Exception f) {
              // allow instrumented FFDC to be used here
  
              //DeploymentException needs to stop the application from starting
              if (f instanceof DeploymentException) {
                  throw new RuntimeException(f);
              }
          }
      }