public static Vector<String> find(String classname,String[] pkgnames){
  Vector<String> result;
  Class<?> cls;
  result=new Vector<String>();
  try {
    cls=Class.forName(classname);
    result=find(cls,pkgnames);
  }
 catch (  Exception e) {
    e.printStackTrace();
  }
  return result;
}

public static Vector < String > find ( String classname , String [ ] pkgnames ) { Vector < String > result ; Class < ? > cls ; result = new Vector < String > ( ) ; try { cls = Class . forName ( classname ) ; result = find ( cls , pkgnames ) ; } catch ( Exception e ) { e . printStackTrace ( ) ; } return result ; }
checks the given packages for classes that inherited from the given class , in case it ' s a class , or implement this class , in case it ' s an interface .
