// function used in the Removing Duplicate Type IIs.pdf document
        public static void removeTypeIIs(string ozasmtToProcess)
        {
            O2Cmd.log.write("This function will remove duplicate Type IIs");
            var o2Assessment = OzasmtLinqUtils.getO2Assessment(ozasmtToProcess);

            O2Cmd.log.write("There are {0} findings in the ozasmt file loaded", o2Assessment.o2Findings.Count);
            var findingsByActionObjectFileAndLineNumber = groupFindingsByActionObjectIdFileNameAndLineNumber(o2Assessment.o2Findings);
            //listFindingsMappings(findingsByActionObjectFileAndLineNumber);
            var findingsToRemove = getFindingsToRemove(findingsByActionObjectFileAndLineNumber);

            removeFindingsFromAssessment(o2Assessment, findingsToRemove);
            saveAssessment(o2Assessment);
            saveFindingsAsNewAssessment(findingsToRemove);
        }
        public static void oneFilePerConfidence(string ozasmtFile)
        {
            IO2Assessment o2Assessment = OzasmtLinqUtils.getO2Assessment(ozasmtFile);

            if (o2Assessment == null)
            {
                return;
            }

            O2Cmd.log.write("--> Executing Filter: Create one assessment file per Vulnerability Type (Vulnerability, Type I and Type II");

            byConfidence(ozasmtFile, o2Assessment, 1, "Only Vulnerabilities");
            byConfidence(ozasmtFile, o2Assessment, 2, "Only Type I");
            byConfidence(ozasmtFile, o2Assessment, 3, "Only TYpe II");
        }
        public static void onlyVulnerabilities(string ozasmtFile)
        {
            IO2Assessment o2Assessment = OzasmtLinqUtils.getO2Assessment(ozasmtFile);

            if (o2Assessment == null)
            {
                return;
            }

            O2Cmd.log.write("#) Executing Filter: : Create assessment with only Findings with Vulnerabilities");
            var filteredO2Findings = from IO2Finding finding in o2Assessment.o2Findings
                                     where finding.confidence == 1
                                     select finding;

            OzasmtLinqUtils.saveFindings(filteredO2Findings, ozasmtFile, "Only Vulnerabilities");
        }
        public static void oneFilePerSeverity(string ozasmtFile)
        {
            IO2Assessment o2Assessment = OzasmtLinqUtils.getO2Assessment(ozasmtFile);

            if (o2Assessment == null)
            {
                return;
            }

            O2Cmd.log.write("--> Executing Filter: Create one assessment file per Severity Type (High, Medium, Low, Info");

            bySeverity(ozasmtFile, o2Assessment, 0, "Only High");
            bySeverity(ozasmtFile, o2Assessment, 1, "Only Medium");
            bySeverity(ozasmtFile, o2Assessment, 2, "Only Low");
            bySeverity(ozasmtFile, o2Assessment, 3, "Only Info");
        }