code: @Override
      public boolean isWsocRequest(ServletRequest request) throws ServletException {
          ServletContext context = request.getServletContext();
          Object wsocContainer = null;
          if (context != null) {
              wsocContainer = context.getAttribute(WebSocketContainerManager.SERVER_CONTAINER_ATTRIBUTE);
          }
  
          if (wsocContainer != null) {
              //check if this is a IBM's implementation of WebSocketContainer. If this is a tomcat or some other server's WebSocket
              //implementation of WebSocketContainer then, this is not a valid WebSocket request for us and Web Container should not call
              //WsocHandler.handleRequest() subsequently.
              if (!isValidContainer(wsocContainer)) {
                  return false;
              }
          } else { //not a WebSocket request if ServerContainer attribute is missing.
              return false;
          }
  
          //call setNoMoreAddEndPoints only once per webapp
          if (!noMoreAddsCalled) {
              ((ServerContainerExt) wsocContainer).setNoMoreAddEndpointsAllowed();
              noMoreAddsCalled = true;
          }
  
          return checkWebSocketRequest(request, wsocContainer);
      }
docs: /*
  (non-Javadoc)
  
  @see com.ibm.ws.webcontainer.servlet.WsocServletHandler#invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)