### Question:
Funky { public static <T> T getInput() { return factory.getInputHolder().<T> get(); } protected  Funky(); static ClassFunction<T> newFunction(Class<T> applyingClass, Object... constructorArguments); static ClassFunctionWithInput<T> newFunctionWithInput(Class<T> applyingClass, Object... constructorArguments); static void setThreadSafeInput(boolean threadSafe); static T getInput();  }### Answer:
@Test public void getInputDelegatesToFactoryInputHolder() throws Exception { FunctionFactory factory = getFactory(); Object input = new Object(); factory.getInputHolder().set(input); assertSame(input, Funky.getInput()); }