JavaClass newCls = Repository.lookupClass(getClassConstantOperand());
JavaClass superCls = curClass.getSuperClass(); if (superCls.getClassName().equals(newClsName.replace('/', '.'))) return;
	public void sawOpcode(int seen) {	    try {		    if (seen == INVOKESPECIAL) {		        String newClsName = getClassConstantOperand();		        if (newClsName.startsWith("java/") || newClsName.startsWith("javax/"))		            return;		        		        if (!getNameConstantOperand().equals("<init>"))		            return;		        		        String invokerClsName = this.getClassName();		        if (samePackageBase(invokerClsName, newClsName))		            return;		        		        JavaClass newCls = Repository.lookupClass(getClassConstantOperand());		        JavaClass[] infs = newCls.getAllInterfaces();		        for (int i = 0; i < infs.length; i++) {		            if (xmlInterfaces.contains(infs[i].getClassName())) {		                bugReporter.reportBug( new BugInstance(this, "XFB_XML_FACTORY_BYPASS", LOW_PRIORITY)		                	.addClassAndMethod(this)		                	.addSourceLine(this));		            }		        }		    }	    } catch (ClassNotFoundException cnfe) {	        bugReporter.reportMissingClass(cnfe);	    }	}