### Question:
InjectionUtil { public static <T> T callConstructor(Class<T> targetClass, Class[] argClasses, Object[] args) { T output; try { Constructor classConstructor = targetClass.getDeclaredConstructor(argClasses); output = AccessController.doPrivileged( new SetConstructorPrivilegedAction<T>(classConstructor, args)); } catch (NoSuchMethodException e) { throw new TransfuseInjectionException("Exception during method injection: NoSuchMethodException", e); } catch (PrivilegedActionException e) { throw new TransfuseInjectionException("PrivilegedActionException Exception during field injection", e); } catch (Exception e) { throw new TransfuseInjectionException("Exception during field injection", e); } return output; } private  InjectionUtil(); static T getField(Class<T> returnType, Class<?> targetClass, Object target, String field); static T getField(GenericType<T> returnType, Class<?> targetClass, Object target, String field); static void setField(Class<?> targetClass, Object target, String field, Object value); static T callMethod(Class<T> retClass, Class<?> targetClass, Object target, String method, Class[] argClasses, Object[] args); static T callMethod(GenericType<T> retClass, Class<?> targetClass, Object target, String method, Class[] argClasses, Object[] args); static T callConstructor(Class<T> targetClass, Class[] argClasses, Object[] args); static T callConstructor(GenericType<T> targetClass, Class[] argClasses, Object[] args); static final String GET_FIELD_METHOD; static final String SET_FIELD_METHOD; static final String CALL_METHOD_METHOD; static final String CALL_CONSTRUCTOR_METHOD; }### Answer:
@Test public void testPrivateConstructorInjection() { Target target = InjectionUtil.callConstructor(Target.class, new Class[]{String.class}, new Object[]{TEST_VALUE}); assertEquals(target.getValue(), TEST_VALUE); }