ResourceValueAnalysisTestDriver<Lock> driver = new ResourceValueAnalysisTestDriver<Lock>() { public ResourceTracker<Lock> createResourceTracker(ClassContext classContext, Method method)
ResourceValueAnalysisTestDriver<Lock, LockResourceTracker> driver = new ResourceValueAnalysisTestDriver<Lock, LockResourceTracker>() { public LockResourceTracker createResourceTracker(ClassContext classContext, Method method)
	public static void main(String[] argv) throws Exception {		if (argv.length != 3) {			System.err.println("Usage: " + FindUnreleasedLock.class.getName() + " <class file> <method name> <bytecode offset>");			System.exit(1);		}		String classFile = argv[0];		String methodName = argv[1];		int offset = Integer.parseInt(argv[2]);		ResourceValueAnalysisTestDriver<Lock> driver = new ResourceValueAnalysisTestDriver<Lock>() {			public ResourceTracker<Lock> createResourceTracker(ClassContext classContext, Method method)				throws CFGBuilderException, DataflowAnalysisException {				ValueNumberDataflow vnaDataflow = classContext.getValueNumberDataflow(method);				RepositoryLookupFailureCallback lookupFailureCallback = classContext.getLookupFailureCallback();				return new LockResourceTracker(lookupFailureCallback, vnaDataflow);			}		};		driver.execute(classFile, methodName, offset);	}