#fixed code
                                public static void main(String[] args) {
        String repositoryPath = System.getProperty("path");
        String testsPath = System.getProperty("testPath");
        String testSuitsArg = System.getProperty("testSuits");
        Validate.notNull(repositoryPath, "You must pass a path to your repository");
        repositoryPath = FilenameUtils.separatorsToSystem(repositoryPath);
        Validate.isTrue(new File(repositoryPath).isDirectory(),
                "Directory path argument \'" + repositoryPath + "\' does not lead to a directory");

        String[] testSuits = null;
        if(testSuitsArg != null){
            testSuits = testSuitsArg.split(",");
        }
        ApplicationContext context = new ClassPathXmlApplicationContext("/META-INF/spring/testRunnerContext.xml");
        SlangBuild slangBuild = context.getBean(SlangBuild.class);
        try {
            int numberOfValidSlangFiles = slangBuild.buildSlangContent(repositoryPath, testsPath, testSuits);
            System.out.println("SUCCESS: Found " + numberOfValidSlangFiles + " slang files under directory: \"" + repositoryPath + "\" and all are valid.");

            System.exit(0);
        } catch (Exception e) {
            System.out.println(e.getMessage() + "\n\nFAILURE: Validation of slang files under directory: \"" + repositoryPath + "\" failed.");
            // TODO - do we want to throw exception or exit with 1?
            System.exit(1);
        }
    }
#vulnerable code 
                                public static void main(String[] args) {
        String repositoryPath = System.getProperty("path");
        String testsPath = System.getProperty("testPath");
        String testSuitsArg = System.getProperty("testSuits");
        Validate.notNull(repositoryPath, "You must pass a path to your repository");
        repositoryPath = FilenameUtils.separatorsToSystem(repositoryPath);
        Validate.isTrue(new File(repositoryPath).isDirectory(),
                "Directory path argument \'" + repositoryPath + "\' does not lead to a directory");

        String[] testSuits = null;
        if(testSuitsArg != null){
            testSuits = testSuitsArg.split(",");
        }
        ApplicationContext context = new AnnotationConfigApplicationContext(SlangBuildSpringConfiguration.class);
        SlangBuild slangBuild = context.getBean(SlangBuild.class);
        try {
            int numberOfValidSlangFiles = slangBuild.buildSlangContent(repositoryPath, testsPath, testSuits);
            System.out.println("SUCCESS: Found " + numberOfValidSlangFiles + " slang files under directory: \"" + repositoryPath + "\" and all are valid.");

            System.exit(0);
        } catch (Exception e) {
            System.out.println(e.getMessage() + "\n\nFAILURE: Validation of slang files under directory: \"" + repositoryPath + "\" failed.");
            // TODO - do we want to throw exception or exit with 1?
            System.exit(1);
        }
    } 
                            #location 15 
                            #vulnerability type RESOURCE_LEAK