code: protected void performDisposal(final Map<Key<?>, Object> scopeMap) {
  		for (Entry<Key<?>, Object> entry : scopeMap.entrySet()) {
  			Key<?> key = entry.getKey();
  
  			// warning can be safely suppressed, we always get a Disposable and
  			// the type parameter <Object> does not hurt here at runtime
  			@SuppressWarnings("unchecked")
  			Disposable<Object> disposable = (Disposable<Object>) disposables.get(key);
  			if (disposable != null) {
  				disposable.dispose(entry.getValue());
  			}
  		}
  	}
docs: Iterates over the entries of the specified map calling potentially registered
  {@link Disposable}s.
  
  @param scopeMap
  the scope map