### Question:
StrategyStorageStrategy implements IResolveDependencyStrategy, IAdditionDependencyStrategy { @Override public void remove(Object arg) throws AdditionDependencyStrategyException { try { this.strategyStorage.remove(this.argToKeyFunction.execute(arg)); } catch (FunctionExecutionException | InvalidArgumentException e) { throw new AdditionDependencyStrategyException(e); } } StrategyStorageStrategy(final IFunction argToKeyFunction, final IBiFunction findValueByArgumentFunction); @Override T resolve(Object... args); @Override void register(Object arg, IResolveDependencyStrategy value); @Override void remove(Object arg);  }### Answer:
@Test (expected = AdditionDependencyStrategyException.class) public void checkExceptionOnRemove() throws Exception { IResolveDependencyStrategy strategy = new StrategyStorageStrategy( (a) -> { throw new InvalidArgumentException(""); }, null ); ((IAdditionDependencyStrategy) strategy).remove(null); }