public void visitIfCmpStmt(final IfCmpStmt stmt) {
		if (CodeGenerator.DEBUG) {
			System.out.println("code for " + stmt);
		}

		final Block t = stmt.trueTarget();
		final Block f = stmt.falseTarget();

		if (f == next) {
			// Fall through to the false branch.
			genIfCmpStmt(stmt);

		} else if (t == next) {
			// Fall through to the true branch.
			stmt.negate();
			genIfCmpStmt(stmt);

		} else {
			// Generate a goto to the false branch after the if statement.
			genIfCmpStmt(stmt);

			method.addLabel(method.newLabelTrue()); // Tom changed to say "True"
			method.addInstruction(Opcode.opcx_goto, f.label());
		}
	}