code: public Object removeContext(Class<?> key) {
          // hide the context objects of a wrapped ELContext by storing a null value:
          final Object result = putContextInternal(key, null);
          return result == null ? wrapped.getContext(key) : result;
      }
docs: Dedicated method for removing a context value, as
  {@link #putContext(Class, Object)} is declared to throw {@link NullPointerException} for a {@code null} value.
  @param key
  @return previously stored context object