protected static boolean isSuperior( Method A, Method B ){
		Class<?> aReturn = A.getReturnType();
		Class<?> bReturn = B.getReturnType();
	
		if ( !aReturn.equals(bReturn) ){
			if ( aReturn.isAssignableFrom(bReturn) ) return false;
			if ( bReturn.isAssignableFrom(aReturn) ) return true;
		}
		
		Class<?> aOwner = A.getDeclaringClass();
		Class<?> bOwner = B.getDeclaringClass();
		
		if ( aOwner.isAssignableFrom(bOwner) ) return false;
		if ( bOwner.isAssignableFrom(aOwner) ) return true;
		
		throw new IllegalArgumentException("A, and B are equal!");
	}