code: @SuppressWarnings("unchecked")
      public static <T> ProtocolDetectionResult<T> detected(T protocol) {
          return new ProtocolDetectionResult<T>(ProtocolDetectionState.DETECTED, checkNotNull(protocol, "protocol"));
      }
docs: Returns a {@link ProtocolDetectionResult} which holds the detected protocol.