class StrategyStorageStrategy implements IResolveDependencyStrategy, IAdditionDependencyStrategy {

    @Override
    public void register(Object arg, IResolveDependencyStrategy value)
            throws AdditionDependencyStrategyException {
        try {
            this.strategyStorage.put(this.argToKeyFunction.execute(arg), value);
        } catch (InvalidArgumentException | FunctionExecutionException e) {
            throw new AdditionDependencyStrategyException(e);
        }
    }

    public  StrategyStorageStrategy(final IFunction argToKeyFunction, final IBiFunction findValueByArgumentFunction);

}