code: @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));
      }
docs: Create a proxy which only delegates if a condition is true.
  @param <C> the contract class
  @param contract the contract class
  @param target the object to delegate to
  @param condition - if Reference.get() returns true at the
  time of the call, then the method will be executed, otherwise not.
  @return