if (false && jclass.getClassName().indexOf("edu.umd.cs.findbugs.xml.XMLOutputUtil") >= 0) { try { throw new RuntimeException("get methodGen for XMLOutputUtil"); }catch (RuntimeException e) { e.printStackTrace(System.out); } }  int codeLength = method.getCode().getLength(); if (codeLength > 3000 || (methodName.equals("<clinit>") || methodName.equals("getContents")) && codeLength > 1000) return null; result = new MethodGen(method, jclass.getClassName(), getConstantPoolGen()); Runtime runtime = Runtime.getRuntime();  if (cachedMethodGen.size() > 500 && runtime.freeMemory() < runtime.totalMemory()/5) cachedMethodGen.clear(); if (true) cachedMethodGen.put(method, result);  return result;
if (false && jclass.getClassName().indexOf("edu.umd.cs.findbugs.xml.XMLOutputUtil") >= 0) { try { throw new RuntimeException("get methodGen for XMLOutputUtil"); }catch (RuntimeException e) { e.printStackTrace(System.out); } } if (analysisContext.getBoolProperty(AnalysisFeatures.SKIP_HUGE_METHODS)) { int codeLength = method.getCode().getLength(); if (codeLength > 3000 || (methodName.equals("<clinit>") || methodName.equals("getContents")) && codeLength > 1000) { getLookupFailureCallback().reportSkippedAnalysis(new JavaClassAndMethod(jclass, method)); return null; } }  result = new MethodGen(method, jclass.getClassName(), getConstantPoolGen());  if (!analysisContext.getBoolProperty(AnalysisFeatures.CONSERVE_SPACE)) { Runtime runtime = Runtime.getRuntime();  if (cachedMethodGen.size() > 500 && runtime.freeMemory() < runtime.totalMemory()/5) cachedMethodGen.clear(); if (true) cachedMethodGen.put(method, result); }  return result;
		        @PossiblyNull protected MethodGen analyze(Method method) {			        if (method.getCode() == null)				        return null;			        MethodGen result = cachedMethodGen.get(method);			        			         if (result != null) {			        	// System.out.println("got cached value " + System.identityHashCode(result));			        	return result;			        }			         String methodName = method.getName();					if (false) System.out.println("methodGen: " + jclass.getClassName() + "." 				        		+ methodName + " : " + method.getSignature() + " " + System.identityHashCode(method));				       			        if (false && jclass.getClassName().indexOf("edu.umd.cs.findbugs.xml.XMLOutputUtil") >= 0) {			        	try {			        		throw new RuntimeException("get methodGen for XMLOutputUtil");			        	}catch (RuntimeException e) {			        		e.printStackTrace(System.out);			        	}			        }			        // TODO: Parameterize this			        int codeLength = method.getCode().getLength();					if (codeLength > 3000 			        		|| (methodName.equals("<clinit>") || methodName.equals("getContents")) && codeLength > 1000)			        	return null;			        result = new MethodGen(method, jclass.getClassName(), getConstantPoolGen());			        Runtime runtime = Runtime.getRuntime();			        // TODO: Find a smarter way to do this.			        if (cachedMethodGen.size() > 500 			        		&& runtime.freeMemory() < runtime.totalMemory()/5) cachedMethodGen.clear();			        if (true) cachedMethodGen.put(method, result);			        // System.out.println("Returning " + System.identityHashCode(result));			        return result;		        }