code: private MethodSource<JavaClassSource> inspectSuperClasses(UIExecutionContext context, final String type,
              String name,
              String[] paramTypes)
     {
  
        Project project = getSelectedProject(context);
        JavaSource<?> clazz = sourceForName(project, type);
  
        if (clazz instanceof JavaClass)
        {
           JavaClassSource source = Roaster.parse(JavaClassSource.class, clazz.toString());
           MethodSource<JavaClassSource> superClassMethod = source.getMethod(name, paramTypes);
  
           if (superClassMethod != null)
           {
              return superClassMethod;
           }
  
           if (!source.getSuperType().equals("java.lang.Object"))
           {
              return inspectSuperClasses(context, source.getSuperType(), name, paramTypes);
           }
        }
  
        return null;
     }
docs: /*
  Recursively scans the super class hierarchy to find already existing methods with similar signatures in super
  classes. If an existing method with similar signature is found in super classes returns
  MethodSource<JavaClassSource> object corresponding to that method. Otherwise null is returned.