public void run(String[] args) {
        if (args.length != 2 && args.length != 3) {
            printUsage();
        }

        Class<?> token = tests.get(args[0]);
        if (token == null) {
            printUsage();
            return;
        }

        System.setProperty("cut", args[1]);
        Result result = new JUnitCore().run(token);
        if (!result.wasSuccessful()) {
            for (Failure failure : result.getFailures()) {
                System.err.println("Test " + failure.getDescription().getMethodName() + " failed: " + failure.getMessage());
                if (failure.getException() != null) {
                    failure.getException().printStackTrace();
                }
            }
        } else {
            System.out.println("OK " + token.getSimpleName());
        }
        certify(token, args.length > 2 ? args[2] : "");
    }