docs: @Nullable
  	public static <T> InterfaceDescriptor<T> findInterfaceDescriptor(final Class<T> cls) {
  		if (!cls.isInterface()) {
  			throw new IllegalArgumentException("Interface required, got " + cls);
  		}
  
  		Field field;
  		try {
  			field = cls.getField("DESCRIPTOR");
  		} catch (NoSuchFieldException e) {
  			throw new IllegalArgumentException("No DESCRIPTOR field in " + cls);
  		}
  
  		if (!InterfaceDescriptor.class.isAssignableFrom(field.getType())) {
  			throw new IllegalArgumentException("Not an InterfaceDescriptor field, " + field);
  		}
  
  		try {
  			// Get the static TYPE field.
  			@SuppressWarnings("unchecked")
  			InterfaceDescriptor<T> descriptor = (InterfaceDescriptor<T>) field.get(null);
  			return descriptor;
  		} catch (IllegalAccessException e) {
  			throw new RuntimeException(e);
  		}
  	}