docs: @SuppressWarnings("unchecked")
      public static <C> C delegateIf(
                      Class<C> contract,
                      Supplier<C> target,
                      Supplier<Boolean> condition)
      {
          checkVoid(contract);
          return (C)Proxy.newProxyInstance(
                          contract.getClassLoader(),
                          new Class [] { contract },
                          invocationHandler(contract, target, condition));
      }