code: public boolean deregister(final Object pProvider) {
          Iterator<Class<?>> categories = containingCategories(pProvider);
  
          boolean deregistered = false;
          while (categories.hasNext()) {
              Class<?> category = categories.next();
              if (deregister(pProvider, category) && !deregistered) {
                  deregistered = true;
              }
          }
  
          return deregistered;
      }
docs: De-registers the given provider from all categories it's currently
  registered in.
  
  @param pProvider the provider instance
  @return {@code true} if {@code pProvider} was previously registered in
  any category and is now de-registered.
  @see #containingCategories(Object)