if (className.indexOf("Stub") != -1) { System.out.println(className); }
	public void visit(String className) throws Exception {		if (classesInProgramClasspath.contains(className)) {		    classesUseByProgram.add(className);			Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder()			.newDocument();			Element eClazz = document.createElement("class");			eClazz.setAttribute("name", className);			document.appendChild(eClazz);			JavaClass javaClass = repository.findClass(className);			ClassGen cg = new ClassGen(javaClass);			org.apache.bcel.classfile.Method[] ms = javaClass.getMethods();			log.debug("Cleaning class: " + className);			for (int i = 0; i < ms.length; i++) {				Method m = new Method(className, ms[i].getName(), ms[i]																	 .getSignature());				//Deleting methods				if (!usedMethods.contains(m)) {					log.debug("Removing method: "+ m);					cg.removeMethod(ms[i]);					if (true) {						eClazz.appendChild(this.reportMethod(document,								ms[i]));					}				} else {					if (methodsThatUseClassForName.contains(m)) {						org.apache.bcel.classfile.Method mc= m.toClassFileMethod();						ConstantPoolGen pool= cg.getConstantPool();						if (classThatContainsTheNewMethod == null) {							classThatContainsTheNewMethod= m.getClassName();							cg.addMethod(this.createMethod(m.getClassName(), pool).getMethod());						}						cg.replaceMethod(mc ,this.transform(m.toMethodGen(), pool));					}				}			}			//Deleting fields			Field[] fields= javaClass.getFields();			for (int i = 0; i < fields.length; i++) {				net.java.dev.jminimizer.beans.Field field= new net.java.dev.jminimizer.beans.Field(className, fields[i].getName(), fields[i].getSignature());				if(!usedMethods.contains(field)) {					log.debug("Removing field: "+ field);					cg.removeField(fields[i]);				}			}			log.debug("Cleaning up the constant pool of class: "+ cg.getClassName());			ConstantPoolCleanerVisitor visitor= new ConstantPoolCleanerVisitor(configurator.isDeepStripment(), classesUseByProgram);			javaClass= visitor.cleanUpClassGen(cg);			this.dump(javaClass);			if (eClazz.hasChildNodes()) {				File directory = configurator.getReportDirectory();				directory.mkdirs();				File report = new File(directory, className + ".xml");				javax.xml.transform.Transformer trans = TransformerFactory				.newInstance().newTransformer();				trans.setOutputProperty(OutputKeys.INDENT, "yes");				trans.transform(new DOMSource(document), new StreamResult(						report));			}		}	}