code: public static <T> Interface<T> type(Class<T> anyInterface) {
      class InterfaceType extends Interface<T> {
        InterfaceType() {
          super(anyInterface);
        }
      }
  
      Objects.requireNonNull(anyInterface, "anyInterface");
      Assert.ensure(anyInterface.isInterface(), "anyInterface.isInterface()");
  
      return new InterfaceType();
    }
docs: Usage: {@code Interface<Runnable> ir = Interface.type(Runnable.class);}
  
  @param anyInterface a non-null interface type
  @param <T>          an interface
  @return an instance encapsulating the argument