public CodeRunResult run(CodeRunParams params) {
        CodeRunResult result;
        Class clazz = params.getCompilationResult().getCompiledClasses().get(TestClassCodeBuilder.TEST_CLASS);
        try {
            Object o = clazz.getConstructor().newInstance();
            Method m = clazz.getDeclaredMethod("execute");
            result = runExecuteMethod(o, m);
            if (result.getExceptionMessage() == null) {
                result.setPass(result.getFailedTestMessages().size() == 0);
            }
        } catch (Exception e) {
            result = new CodeRunResult();
            result.setExceptionMessage(e.toString());
        }
        return result;
    }