private <T> void injectSetter(T instance, Method method) {
        Class<?>[] parameterTypes = method.getParameterTypes();
        ParameterValuesFetcher parameterValuesFetcher = new ParameterValuesFetcher(container);
        Object[] parameterValues = parameterValuesFetcher.fetch(parameterTypes);

        try {
            method.invoke(instance, parameterValues);
        } catch (IllegalAccessException e) {
            throw new CouldNotSetPropertyException();
        } catch (InvocationTargetException e) {
            throw new CouldNotSetPropertyException();
        }
    }