code: public void remove(T element, Class<?> accessibleClass) {
  		while (accessibleClass != null && accessibleClass != this.baseClass) {
  			this.removeSingle(element, accessibleClass);
  
  			for (Class<?> interf : accessibleClass.getInterfaces()) {
  				this.removeSingle(element, interf);
  			}
  
  			accessibleClass = accessibleClass.getSuperclass();
  		}
  	}
docs: Remove the element from accessible class and any of the superclass and
  interfaces of the accessibleClass until baseClass
  @param element
  @param accessibleClass