class CreateNewInstanceStrategy implements IResolveDependencyStrategy {

    public <T> T resolve(final Object ... args)
            throws ResolveDependencyStrategyException {
        try {
            return (T) creationFunction.apply(args);
        } catch (Exception e) {
            throw new ResolveDependencyStrategyException("Object resolution failed.", e);
        }
    }

    public  CreateNewInstanceStrategy(final Function<Object[], Object> func);

}