code: private void nextProtocol(NextProtocolMessage message) throws IOException
      {
          NextProtoNego.ServerProvider provider = conn != null ?
                  (NextProtoNego.ServerProvider)NextProtoNego.get(conn) :
                  (NextProtoNego.ServerProvider)NextProtoNego.get(engine);
          if (provider != null)
          {
              String protocol = message.getProtocol();
              if (NextProtoNego.debug)
                  System.err.println(new StringBuilder("[S] NPN selected '").append(protocol).append("' for ").append(conn != null ? conn : engine));
              try
              {
                  provider.protocolSelected(protocol);
              }
              catch (Throwable t)
              {
                  fatalSE(Alerts.alert_handshake_failure, "NPN selected protocol not acceptable", t);
                  return;
              }
          }
      }
docs: NPN_CHANGES_BEGIN