code: protected Integer findOrder(Object obj) {
  		// Check for regular Ordered interface
  		Integer order = super.findOrder(obj);
  		if (order != null) {
  			return order;
  		}
  
  		// Check for @Order annotation on various kinds of elements
  		if (obj instanceof Class) {
  			return OrderUtils.getOrder((Class) obj);
  		}
  		else if (obj instanceof Method) {
  			Order ann = AnnotationUtils.findAnnotation((Method) obj, Order.class);
  			if (ann != null) {
  				return ann.value();
  			}
  		}
  		else if (obj instanceof AnnotatedElement) {
  			Order ann = AnnotationUtils.getAnnotation((AnnotatedElement) obj, Order.class);
  			if (ann != null) {
  				return ann.value();
  			}
  		}
  		else if (obj != null) {
  			return OrderUtils.getOrder(obj.getClass());
  		}
  
  		return null;
  	}
docs: This implementation checks for the {@link Order} annotation
  on various kinds of elements, in addition to the
  {@link com.freetmp.common.core.Ordered} check in the superclass.