Async(
        TyrusSession session,
        TyrusRemoteEndpoint remoteEndpoint,
        TyrusEndpointWrapper tyrusEndpointWrapper) {
      super(session, remoteEndpoint, tyrusEndpointWrapper);

      if (session.getContainer() != null) {
        setSendTimeout(session.getContainer().getDefaultAsyncSendTimeout());
      }
    }
 @Override
 public void sendPong(ByteBuffer applicationData) throws IOException {
   if (applicationData != null && applicationData.remaining() > 125) {
     throw new IllegalArgumentException(
         "Pong applicationData exceeded the maximum allowed payload of 125 bytes.");
   }
   session.restartIdleTimeoutExecutor();
   remoteEndpoint.sendPong(applicationData);
 }