private void processMethods(final Object component,final Context context,final ContextDestroyer contextDestroyer){
  Class<?> componentClass=component.getClass();
  while (componentClass != null && !componentClass.equals(Object.class)) {
    final Method[] methods=ClassReflection.getDeclaredMethods(componentClass);
    if (methods != null && methods.length > 0) {
      processMethods(component,methods,context,contextDestroyer);
    }
    componentClass=componentClass.getSuperclass();
  }
}

private void processMethods ( final Object component , final Context context , final ContextDestroyer contextDestroyer ) { Class < ? > componentClass = component . getClass ( ) ; while ( componentClass != null && ! componentClass . equals ( Object . class ) ) { final Method [ ] methods = ClassReflection . getDeclaredMethods ( componentClass ) ; if ( methods != null && methods . length > 0 ) { processMethods ( component , methods , context , contextDestroyer ) ; } componentClass = componentClass . getSuperclass ( ) ; } }
scans class tree of component to process all its methods .
