package jalse.actions; import java.util.HashMap; import java.util.Map; class UnmodifiableDelegateActionBindings implements ActionBindings { private final ActionBindings delegate; UnmodifiableDelegateActionBindings(final ActionBindings delegate) { this.delegate = delegate; } @Override public <T> T get(final String key) { return delegate != null ? delegate.get(key) : null; } @Override public <T> T put(final String key, final T value) { throw new UnsupportedOperationException(); } @Override public void putAll(final Map<String, ?> map) { throw new UnsupportedOperationException(); } @Override public <T> T remove(final String key) { throw new UnsupportedOperationException(); } @Override public void removeAll() { throw new UnsupportedOperationException(); } @Override public Map<String, ?> toMap() { return delegate != null ? delegate.toMap() : new HashMap<>(); } }