if (getInstanceValue(frame, inv, cpg).isInstance() && matchMethod(inv, cpg, resource.getResourceClass(), "close", "()V")) return true;
if (!getInstanceValue(frame, inv, cpg).isInstance()) return false;     try { String streamBase = resource.getStreamBase();  return inv.getName(cpg).equals("close") && inv.getSignature(cpg).equals("()V") && Repository.instanceOf(inv.getClassName(cpg), streamBase); } catch (ClassNotFoundException e) { lookupFailureCallback.reportMissingClass(e); return false; }
		public boolean isResourceClose(BasicBlock basicBlock, InstructionHandle handle, ConstantPoolGen cpg, ResourceCreationPoint resource,			ResourceValueFrame frame) {			Instruction ins = handle.getInstruction();			if (ins instanceof INVOKEVIRTUAL) {				// Does this instruction close the stream?				INVOKEVIRTUAL inv = (INVOKEVIRTUAL) ins;				if (getInstanceValue(frame, inv, cpg).isInstance() &&					matchMethod(inv, cpg, resource.getResourceClass(), "close", "()V"))					return true;			}			return false;		}