code: @Override
  	public Object remove(Object key) {
  		if(key instanceof String && reflective.containsKey((String) key)) {
  			throw new ReflectiveValueRemovalException((String) key);
  		} else {
  			return regular.remove(key);
  		}
  	}
docs: Removes a regular mapping for a key from this map if it is present.
  
  @param key key for a regular mapping
  @return the previous value associated with key, or null if there was no mapping for key
  @throws IllegalArgumentException if key is associated with a reflective mapping