if (cls.implementationOf(mtClass) || cls.instanceOf(mtClass)) {
if (mtClass.isClass() ? cls.instanceOf(mtClass) : cls.implementationOf(mtClass)) {
	public void visitClassContext(ClassContext classContext) {		try {			JavaClass cls = classContext.getJavaClass();			String superClsName = cls.getSuperclassName();			if ("java.lang.Object".equals(superClsName))				return;						if (STRUTS_ACTION_NAME.equals(superClsName)) {				mtClassName = STRUTS_ACTION_NAME;				super.visitClassContext(classContext);			}			else if (SERVLET_NAME.equals(superClsName)) {				mtClassName = SERVLET_NAME;				super.visitClassContext(classContext);			}			else {				for (JavaClass mtClass : getMtClasses()) {					if (cls.implementationOf(mtClass)							|| cls.instanceOf(mtClass)) {						mtClassName = mtClass.getClassName();						super.visitClassContext(classContext);						return;					}				}			}		} catch (Exception e) {			//already reported		}	}