code: public static OClass getDeepestOClass(Iterable<OClass> classes) {
  		if(classes==null) return null;
  		OClass ret=null;
  		for(OClass oClass: classes) {
  			if(ret==null) ret = oClass;
  			else {
  				if(!ret.equals(oClass) && oClass.isSubClassOf(ret)) ret = oClass;
  			}
  		}
  		return ret;
  	}
docs: Find the most deep {@link OClass} in a collection of classes
  @param classes {@link Iterable} with {@link OClass}es to handle
  @return deepest {@link OClass} or null