docs: protected static <P extends AbstractEncoderProxy<T>, T> Object newInstance(
          final Class<P> proxyType, final Class<T> encoderType, final T encoder) {
  
          if (proxyType == null) {
              throw new NullPointerException("proxyType");
          }
  
          if (!StringEncoderProxy.class.isAssignableFrom(proxyType)) {
              throw new IllegalArgumentException(
                  "proxyType(" + proxyType + ") is not assignable to "
                  + StringEncoderProxy.class);
          }
  
          return newInstance(ENCODER.getClassLoader(), new Class<?>[]{ENCODER},
                             proxyType, encoderType, encoder);
      }