{"$schema":"https://json.schemastore.org/sarif-2.1.0.json","version":"2.1.0","runs":[{"tool":{"driver":{"name":"codehealth","informationUri":"https://codehealth.canine.dev","rules":[{"id":"D1","name":"Cyclomatic Complexity","shortDescription":{"text":"Cyclomatic Complexity"},"helpUri":"https://codehealth.canine.dev/dimensions/D1"},{"id":"D2","name":"Cognitive Complexity","shortDescription":{"text":"Cognitive Complexity"},"helpUri":"https://codehealth.canine.dev/dimensions/D2"},{"id":"D3","name":"God Classes","shortDescription":{"text":"God Classes"},"helpUri":"https://codehealth.canine.dev/dimensions/D3"},{"id":"D4","name":"Code Duplication","shortDescription":{"text":"Code Duplication"},"helpUri":"https://codehealth.canine.dev/dimensions/D4"},{"id":"D5","name":"Coupling","shortDescription":{"text":"Coupling"},"helpUri":"https://codehealth.canine.dev/dimensions/D5"},{"id":"D6","name":"Cohesion (LCOM4)","shortDescription":{"text":"Cohesion (LCOM4)"},"helpUri":"https://codehealth.canine.dev/dimensions/D6"},{"id":"D8","name":"Code Coverage","shortDescription":{"text":"Code Coverage"},"helpUri":"https://codehealth.canine.dev/dimensions/D8"},{"id":"D11","name":"Test Reliability","shortDescription":{"text":"Test Reliability"},"helpUri":"https://codehealth.canine.dev/dimensions/D11"},{"id":"D13","name":"Secret Scanning","shortDescription":{"text":"Secret Scanning"},"helpUri":"https://codehealth.canine.dev/dimensions/D13","relationships":[{"target":{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"A07:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-798","CWE-259"],"owasp":"A07:2025"}},{"id":"D14","name":"License Compliance","shortDescription":{"text":"License Compliance"},"helpUri":"https://codehealth.canine.dev/dimensions/D14"},{"id":"D15","name":"Churn \u00D7 Complexity Hotspots","shortDescription":{"text":"Churn \u00D7 Complexity Hotspots"},"helpUri":"https://codehealth.canine.dev/dimensions/D15"},{"id":"D17","name":"Explicit Debt","shortDescription":{"text":"Explicit Debt"},"helpUri":"https://codehealth.canine.dev/dimensions/D17"},{"id":"D18","name":"Solution Shape","shortDescription":{"text":"Solution Shape"},"helpUri":"https://codehealth.canine.dev/dimensions/D18"},{"id":"D20","name":"ADR Quality","shortDescription":{"text":"ADR Quality"},"helpUri":"https://codehealth.canine.dev/dimensions/D20"},{"id":"D23","name":"Boundary Type-Coupling","shortDescription":{"text":"Boundary Type-Coupling"},"helpUri":"https://codehealth.canine.dev/dimensions/D23"},{"id":"D24","name":"Comment Value","shortDescription":{"text":"Comment Value"},"helpUri":"https://codehealth.canine.dev/dimensions/D24"},{"id":"D26","name":"Project Cohesion","shortDescription":{"text":"Project Cohesion"},"helpUri":"https://codehealth.canine.dev/dimensions/D26"},{"id":"D28","name":"Secrets (history)","shortDescription":{"text":"Secrets (history)"},"helpUri":"https://codehealth.canine.dev/dimensions/D28","relationships":[{"target":{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"A07:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-798","CWE-259"],"owasp":"A07:2025"}},{"id":"D29","name":"Static Analysis (SAST)","shortDescription":{"text":"Static Analysis (SAST)"},"helpUri":"https://codehealth.canine.dev/dimensions/D29","relationships":[{"target":{"id":"CWE-79","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-89","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-78","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-94","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-77","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"A05:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-79","CWE-89","CWE-78","CWE-94","CWE-77"],"owasp":"A05:2025"}},{"id":"D30","name":"Dependency Vulnerabilities","shortDescription":{"text":"Dependency Vulnerabilities"},"helpUri":"https://codehealth.canine.dev/dimensions/D30","relationships":[{"target":{"id":"CWE-1395","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-937","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"A03:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-1395","CWE-937"],"owasp":"A03:2025"}},{"id":"D34","name":"Knowledge Freshness","shortDescription":{"text":"Knowledge Freshness"},"helpUri":"https://codehealth.canine.dev/dimensions/D34"},{"id":"D35","name":"Change Coupling","shortDescription":{"text":"Change Coupling"},"helpUri":"https://codehealth.canine.dev/dimensions/D35"},{"id":"D37","name":"Vulnerability-disclosure Policy","shortDescription":{"text":"Vulnerability-disclosure Policy"},"helpUri":"https://codehealth.canine.dev/dimensions/D37","relationships":[{"target":{"id":"CWE-1059","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"A02:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-1059"],"owasp":"A02:2025"}},{"id":"D43","name":"Malicious Dependencies","shortDescription":{"text":"Malicious Dependencies"},"helpUri":"https://codehealth.canine.dev/dimensions/D43","relationships":[{"target":{"id":"CWE-506","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"A08:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-506"],"owasp":"A08:2025"}},{"id":"D44","name":"Platform End-of-Life","shortDescription":{"text":"Platform End-of-Life"},"helpUri":"https://codehealth.canine.dev/dimensions/D44"},{"id":"AX10","name":"Code composition","shortDescription":{"text":"Code composition"},"helpUri":"https://codehealth.canine.dev/dimensions/AX10"},{"id":"AX3","name":"Project dependency cycles","shortDescription":{"text":"Project dependency cycles"},"helpUri":"https://codehealth.canine.dev/dimensions/AX3"},{"id":"AX4","name":"Dependency direction","shortDescription":{"text":"Dependency direction"},"helpUri":"https://codehealth.canine.dev/dimensions/AX4"},{"id":"AX5","name":"Architecture \u0026 structure","shortDescription":{"text":"Architecture \u0026 structure"},"helpUri":"https://codehealth.canine.dev/dimensions/AX5"},{"id":"AX6","name":"Interface segregation","shortDescription":{"text":"Interface segregation"},"helpUri":"https://codehealth.canine.dev/dimensions/AX6"},{"id":"ED5","name":"Idempotency","shortDescription":{"text":"Idempotency"},"helpUri":"https://codehealth.canine.dev/dimensions/ED5"},{"id":"GD1","name":"Unfinished \u0026 placeholder code","shortDescription":{"text":"Unfinished \u0026 placeholder code"},"helpUri":"https://codehealth.canine.dev/dimensions/GD1"},{"id":"M1","name":"Documentation (README)","shortDescription":{"text":"Documentation (README)"},"helpUri":"https://codehealth.canine.dev/dimensions/M1"},{"id":"M2","name":"Architecture documentation","shortDescription":{"text":"Architecture documentation"},"helpUri":"https://codehealth.canine.dev/dimensions/M2"},{"id":"M3","name":"Folder \u0026 project structure","shortDescription":{"text":"Folder \u0026 project structure"},"helpUri":"https://codehealth.canine.dev/dimensions/M3"},{"id":"P1","name":"CI/CD gates","shortDescription":{"text":"CI/CD gates"},"helpUri":"https://codehealth.canine.dev/dimensions/P1"},{"id":"P3","name":"Security \u0026 performance tooling","shortDescription":{"text":"Security \u0026 performance tooling"},"helpUri":"https://codehealth.canine.dev/dimensions/P3"},{"id":"P6","name":"Release Hygiene","shortDescription":{"text":"Release Hygiene"},"helpUri":"https://codehealth.canine.dev/dimensions/P6"},{"id":"S1","name":"Web-Security Posture","shortDescription":{"text":"Web-Security Posture"},"helpUri":"https://codehealth.canine.dev/dimensions/S1"},{"id":"SC1","name":"Supply-chain hygiene","shortDescription":{"text":"Supply-chain hygiene"},"helpUri":"https://codehealth.canine.dev/dimensions/SC1"},{"id":"X10","name":"Duplicated predicate","shortDescription":{"text":"Duplicated predicate"},"helpUri":"https://codehealth.canine.dev/dimensions/X10"},{"id":"X28","name":"Index access outside its own emptiness guard","shortDescription":{"text":"Index access outside its own emptiness guard"},"helpUri":"https://codehealth.canine.dev/dimensions/X28"},{"id":"X6","name":"Hand-rolled structured-format parsing","shortDescription":{"text":"Hand-rolled structured-format parsing"},"helpUri":"https://codehealth.canine.dev/dimensions/X6"},{"id":"X7","name":"Silent fallback defaults","shortDescription":{"text":"Silent fallback defaults"},"helpUri":"https://codehealth.canine.dev/dimensions/X7"},{"id":"X9","name":"Subsumed condition operand","shortDescription":{"text":"Subsumed condition operand"},"helpUri":"https://codehealth.canine.dev/dimensions/X9"}]}},"results":[{"ruleId":"D1","level":"warning","message":{"text":"LipoqualityRest.getLqUrl (cyclomatic 313): LipoqualityRest.getLqUrl has cyclomatic complexity 313 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityRest.vb"},"region":{"startLine":93}}}],"partialFingerprints":{"codehealthFindingId/v1":"e621b855e5f1e433577a08e731e341049995e698a875832c29969cb47986945c"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidAnnotation.Characterize (cyclomatic 198): LipidAnnotation.Characterize has cyclomatic complexity 198 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Lipidomics.vb"},"region":{"startLine":148}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab464d24109f6426eb834d924c7b21dfe85b075007c88ec1efbda5cb1a3ca120"}},{"ruleId":"D1","level":"warning","message":{"text":"MsScanMatching.GetLipidMoleculerSpeciesLevelAnnotationResultForEIEIO (cyclomatic 193): MsScanMatching.GetLipidMoleculerSpeciesLevelAnnotationResultForEIEIO has cyclomatic complexity 193 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (MsScanMatching.GetLipidMoleculeAnnotationResult) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":289}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c2a261f01e1aced49549744b139062b00fc724b5ed7f095aa21da3cc8899bbc"}},{"ruleId":"D1","level":"warning","message":{"text":"MsScanMatching.GetLipidMoleculeAnnotationResult (cyclomatic 193): MsScanMatching.GetLipidMoleculeAnnotationResult has cyclomatic complexity 193 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (MsScanMatching.GetLipidMoleculerSpeciesLevelAnnotationResultForEIEIO) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":871}}}],"partialFingerprints":{"codehealthFindingId/v1":"02aed44db4d59bc9fad0a1cdc65369128f0bd5d4ab7e634e36acb4ebef367487"}},{"ruleId":"D1","level":"warning","message":{"text":"DSPPhaseCorrection.dspPhaseCorrection (cyclomatic 71): DSPPhaseCorrection.dspPhaseCorrection has cyclomatic complexity 71 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/phasing/DSPPhaseCorrection.vb"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3d511c19995cc76c8dae3d7e9fd17f3f7299e9420454d56603ef4d8a957566e"}},{"ruleId":"D1","level":"warning","message":{"text":"FormulaCalculateUtility.GetFormulaString (cyclomatic 58): FormulaCalculateUtility.GetFormulaString has cyclomatic complexity 58 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/FormulaCalculateUtility.vb"},"region":{"startLine":389}}}],"partialFingerprints":{"codehealthFindingId/v1":"455bf7bc96c47ce838843a6d712bac510759dfd0cf65501a729b6a216972d22e"}},{"ruleId":"D1","level":"warning","message":{"text":"FormulaGenerator.getFormulaResults (cyclomatic 58): FormulaGenerator.getFormulaResults has cyclomatic complexity 58 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaGenerator.vb"},"region":{"startLine":326}}}],"partialFingerprints":{"codehealthFindingId/v1":"17e6058fae0e00194393a7e5495173d8c863967e3b7c75c250e196ed614bcc71"}},{"ruleId":"D1","level":"warning","message":{"text":"SpectrumHandler.EstimateIsotopes (cyclomatic 47): SpectrumHandler.EstimateIsotopes has cyclomatic complexity 47 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/SpectrumHandler.vb"},"region":{"startLine":259}}}],"partialFingerprints":{"codehealthFindingId/v1":"b1b26455cf8cd65e31c2ff01b3997483b474f4673bcf95714ff65d4c7bd9db78"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCardiolipin (cyclomatic 44): LipidMsmsCharacterization.JudgeIfCardiolipin has cyclomatic complexity 44 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7147}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd12c4c43c9acca50c06b229e3f7cf3950996d69e5ca905a8ed0f7eedcdef784"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfHexceramideeos (cyclomatic 44): LipidMsmsCharacterization.JudgeIfHexceramideeos has cyclomatic complexity 44 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10557}}}],"partialFingerprints":{"codehealthFindingId/v1":"51ae77a39a98063d5333169b48d80c6bcb6c57560e234d1b4b73e0390f7700c9"}},{"ruleId":"D1","level":"warning","message":{"text":"centWave.DetectByCentWave (cyclomatic 44): centWave.DetectByCentWave has cyclomatic complexity 44 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/centWave/centWave.vb"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b7ae4d3d999c9d5a941cac3f612474d224fb39a5928ccc981c7f7004fd0e7f6"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramideeos (cyclomatic 43): LipidMsmsCharacterization.JudgeIfCeramideeos has cyclomatic complexity 43 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10243}}}],"partialFingerprints":{"codehealthFindingId/v1":"d75a5705a73c9bd83695e34de94548c340e911a59ee97b606476fd49e40420d1"}},{"ruleId":"D1","level":"warning","message":{"text":"SequenceToSpec.GetSpectrumPeaksByHCD (cyclomatic 43): SequenceToSpec.GetSpectrumPeaksByHCD has cyclomatic complexity 43 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/SequenceToSpec.vb"},"region":{"startLine":118}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6d4d15edafbba21a1724fd26b19418d98eeaa5254612321527274b9fd748354"}},{"ruleId":"D1","level":"warning","message":{"text":"FormulaCalculateUtility.GetFormulaString (cyclomatic 42): FormulaCalculateUtility.GetFormulaString has cyclomatic complexity 42 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/FormulaCalculateUtility.vb"},"region":{"startLine":414}}}],"partialFingerprints":{"codehealthFindingId/v1":"3795f2042549a693012d9fb18d67321461a09d99f2582ce3648db4c69fc4bbc6"}},{"ruleId":"D1","level":"warning","message":{"text":"PeakAnalyzer.MultiPeakFit (cyclomatic 42): PeakAnalyzer.MultiPeakFit has cyclomatic complexity 42 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":1568}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f91bdb4f86427c320874e51dbfe223ce3aea7d0363224a4d772f077dd210580"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfHexceramideo (cyclomatic 41): LipidMsmsCharacterization.JudgeIfHexceramideo has cyclomatic complexity 41 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8546}}}],"partialFingerprints":{"codehealthFindingId/v1":"c74ecc0d58c917b5b4dec095501291374aa8bf154b038dc6e0ab80e758944d69"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramideo (cyclomatic 41): LipidMsmsCharacterization.JudgeIfCeramideo has cyclomatic complexity 41 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8882}}}],"partialFingerprints":{"codehealthFindingId/v1":"d17344f55fe8ddc21a58afe36c4bedad8764b62d3b56863602b215c35fa1aec8"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramidens (cyclomatic 40): LipidMsmsCharacterization.JudgeIfCeramidens has cyclomatic complexity 40 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfCeramidensD7) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7943}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4f3f3b8969517438d53addee47b855f91230a7795757d7295f5e478d2b44ed7"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramidensD7 (cyclomatic 40): LipidMsmsCharacterization.JudgeIfCeramidensD7 has cyclomatic complexity 40 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfCeramidens) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":16340}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf3821b80e8f7b600d45e4f0f47d46a73f6b6b70ba0c43aa2e60471ea358226b"}},{"ruleId":"D1","level":"warning","message":{"text":"MsScanMatching.GetWeightedDotProduct (cyclomatic 39): MsScanMatching.GetWeightedDotProduct has cyclomatic complexity 39 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":902}}}],"partialFingerprints":{"codehealthFindingId/v1":"b45a9c13973d6eb1d763182c4e912f654f01428291aab4e44269f66da83a5771"}},{"ruleId":"D1","level":"warning","message":{"text":"MathHelpers.NIPALSWithMissing (cyclomatic 39): MathHelpers.NIPALSWithMissing has cyclomatic complexity 39 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MathHelpers.vb"},"region":{"startLine":909}}}],"partialFingerprints":{"codehealthFindingId/v1":"08f22c2a0fa7db896e5d90ab46313d789d34778a9e869df70fbb9df00f2a4054"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAcylhexcer (cyclomatic 38): LipidMsmsCharacterization.JudgeIfAcylhexcer has cyclomatic complexity 38 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11064}}}],"partialFingerprints":{"codehealthFindingId/v1":"39ae1f60855193acace304911e095c6873fd714f34713ea9261164dd11b27bc6"}},{"ruleId":"D1","level":"warning","message":{"text":"MS_Peak_ID.MakeTheoryList (cyclomatic 38): MS_Peak_ID.MakeTheoryList has cyclomatic complexity 38 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/MS_Peak/Oligonucleotide_MS_Peak_ID_Given_Sequence_v8.vb"},"region":{"startLine":121}}}],"partialFingerprints":{"codehealthFindingId/v1":"99970de91734214d70aba4411e64e0500b6bd57371562365b4d7ac8e8235685d"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramidends (cyclomatic 37): LipidMsmsCharacterization.JudgeIfCeramidends has cyclomatic complexity 37 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8193}}}],"partialFingerprints":{"codehealthFindingId/v1":"23c718406344741a29c32f3699b17791822ec93973df9c9cdbfcf7bf7ca9e7f6"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylcholineD5 (cyclomatic 37): LipidMsmsCharacterization.JudgeIfPhosphatidylcholineD5 has cyclomatic complexity 37 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15067}}}],"partialFingerprints":{"codehealthFindingId/v1":"661d7cd02d38e18c247964fb95981eb1db8fbd0a10e9b86e6189f3fdea0427da"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEthermgdg (cyclomatic 36): LipidMsmsCharacterization.JudgeIfEthermgdg has cyclomatic complexity 36 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5163}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b026870bddf1f8861b3df8a607667b61e72e9e6bbbff784d58847256988f15b"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfHexceramidens (cyclomatic 36): LipidMsmsCharacterization.JudgeIfHexceramidens has cyclomatic complexity 36 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8374}}}],"partialFingerprints":{"codehealthFindingId/v1":"f61bca763776a89bb601979fcda54a441cc6dfbba03b49003b5f7977f4cd53a6"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfHexceramideap (cyclomatic 36): LipidMsmsCharacterization.JudgeIfHexceramideap has cyclomatic complexity 36 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9518}}}],"partialFingerprints":{"codehealthFindingId/v1":"8be9b0935fbec021a9cd05b9f2f5ff79cdfb9722d3b7d501009c06a45f134bb0"}},{"ruleId":"D1","level":"warning","message":{"text":"Scanner.WalkChar (cyclomatic 36): Scanner.WalkChar has cyclomatic complexity 36 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/Language/Scanner.vb"},"region":{"startLine":196}}}],"partialFingerprints":{"codehealthFindingId/v1":"34f18cd3015104b4ee4a01dfc5b289d1d83e572cda6d038b3ed6b468120630dd"}},{"ruleId":"D1","level":"warning","message":{"text":"FragmentAssigner.getValenceCheckedFragmentFormulaList (cyclomatic 36): FragmentAssigner.getValenceCheckedFragmentFormulaList has cyclomatic complexity 36 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FragmentAssigner.vb"},"region":{"startLine":602}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab7da210600a1faecc7b948c263641d71a000f6c34571385a5daf5d03e9dd1e9"}},{"ruleId":"D1","level":"warning","message":{"text":"BatchCorrection.CorrectComBat (cyclomatic 36): BatchCorrection.CorrectComBat has cyclomatic complexity 36 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/BatchCorrection.vb"},"region":{"startLine":401}}}],"partialFingerprints":{"codehealthFindingId/v1":"1728e7191d5d357591624db1a4038b817e23d36c53f24fee4569927d2936aff7"}},{"ruleId":"D1","level":"warning","message":{"text":"MathHelpers.PCA (cyclomatic 36): MathHelpers.PCA has cyclomatic complexity 36 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MathHelpers.vb"},"region":{"startLine":755}}}],"partialFingerprints":{"codehealthFindingId/v1":"99cc1ebab485c8cc80c74ed3029304d5e46e11250d4027bb821fe7ab7d18195e"}},{"ruleId":"D1","level":"warning","message":{"text":"DimensionalityReducer.PCA (cyclomatic 36): DimensionalityReducer.PCA has cyclomatic complexity 36 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":1899}}}],"partialFingerprints":{"codehealthFindingId/v1":"bcfd0fd7328f22be4da25357f7fab62a9fa5dc15db63ae21ae160d0a9068679e"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramideap (cyclomatic 35): LipidMsmsCharacterization.JudgeIfCeramideap has cyclomatic complexity 35 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9355}}}],"partialFingerprints":{"codehealthFindingId/v1":"580512dba25d4c3a85bd288d6546bec47f479cdc574519f42a2177e4506638a6"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramidenp (cyclomatic 35): LipidMsmsCharacterization.JudgeIfCeramidenp has cyclomatic complexity 35 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10073}}}],"partialFingerprints":{"codehealthFindingId/v1":"06ae52fb3cf0875674b5b6fda301c13e4428fbb6a76c3a38a2e11216778e64a8"}},{"ruleId":"D1","level":"warning","message":{"text":"SevenGoldenRulesCheck.HeteroAtomCheck (cyclomatic 35): SevenGoldenRulesCheck.HeteroAtomCheck has cyclomatic complexity 35 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/SevenGoldenRulesCheck.vb"},"region":{"startLine":407}}}],"partialFingerprints":{"codehealthFindingId/v1":"1bf325233a8c87127c208bc571e2e233029df031e49f7b19d4abb26b7a3d7346"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylcholine (cyclomatic 34): LipidMsmsCharacterization.JudgeIfPhosphatidylcholine has cyclomatic complexity 34 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":1789}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3bbfc9ad3cf2f5b5cee843eea4cd0673640e32b08d46269fb273c625011e025"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAcylsm (cyclomatic 34): LipidMsmsCharacterization.JudgeIfAcylsm has cyclomatic complexity 34 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10855}}}],"partialFingerprints":{"codehealthFindingId/v1":"63403c3e081457867cb1fac0abe7e2cdedc6ce5e87de9cf2c0eec6f303add284"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfBetaMethylPhosphatidylcholine (cyclomatic 34): LipidMsmsCharacterization.JudgeIfBetaMethylPhosphatidylcholine has cyclomatic complexity 34 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":16542}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4c6b896557f9a2ea1e80bc5b22dbd87a9712103789e2f87b33b8938a70f6f30"}},{"ruleId":"D1","level":"warning","message":{"text":"MsScanMatching.GetReverseDotProduct (cyclomatic 34): MsScanMatching.GetReverseDotProduct has cyclomatic complexity 34 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":757}}}],"partialFingerprints":{"codehealthFindingId/v1":"b92ec738cb3d19b0d321d4315aa4cf42b67ad3e70de538b95f9b1a20ec6e8371"}},{"ruleId":"D1","level":"warning","message":{"text":"FormulaGenerator.getFormulaSearchResults (cyclomatic 34): FormulaGenerator.getFormulaSearchResults has cyclomatic complexity 34 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaGenerator.vb"},"region":{"startLine":825}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf0ffd63c834c96ba419de4e81510017abc11560d60e82450d849ebcb8741a1b"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherdgdg (cyclomatic 33): LipidMsmsCharacterization.JudgeIfEtherdgdg has cyclomatic complexity 33 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5442}}}],"partialFingerprints":{"codehealthFindingId/v1":"49adf29927d1ca82243c742a66d4de4f0597f44d282da3419a6cdb564e9b587a"}},{"ruleId":"D1","level":"warning","message":{"text":"SevenGoldenRulesCheck.ProbabilityCheck (cyclomatic 33): SevenGoldenRulesCheck.ProbabilityCheck has cyclomatic complexity 33 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/SevenGoldenRulesCheck.vb"},"region":{"startLine":498}}}],"partialFingerprints":{"codehealthFindingId/v1":"24a20468b887785816ba87184e55036ba3382c1b69787783ea97c86ced35c0bd"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfTriacylglycerol (cyclomatic 32): LipidMsmsCharacterization.JudgeIfTriacylglycerol has cyclomatic complexity 32 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3126}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0aa7786bc4071b2472a69dd85d2a92a520d36c6bf50597a33bd671c45f72c2f"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfTriacylglycerolD5 (cyclomatic 32): LipidMsmsCharacterization.JudgeIfTriacylglycerolD5 has cyclomatic complexity 32 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":16086}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a9f49dfd3c3f6071d4f02481706500efd85288b021392fecb3faec3d4cdfe5d"}},{"ruleId":"D1","level":"warning","message":{"text":"PeakDetector.DetectByFirstDerivative (cyclomatic 32): PeakDetector.DetectByFirstDerivative has cyclomatic complexity 32 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakDetector.vb"},"region":{"startLine":357}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a76c5dd3ce66130239cf2139642343ba3e271ece3d7a8acc60e3c279102e7c5"}},{"ruleId":"D1","level":"warning","message":{"text":"PeakAnalyzer.SinglePeakFit (cyclomatic 32): PeakAnalyzer.SinglePeakFit has cyclomatic complexity 32 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":1412}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a8f0850e04bb0b684372d87dfdf9df055504573bb7588b2aa4d9fc073e0e279"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLysopc (cyclomatic 31): LipidMsmsCharacterization.JudgeIfLysopc has cyclomatic complexity 31 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3535}}}],"partialFingerprints":{"codehealthFindingId/v1":"673a8b2c2aef5a3d758fb7375425fd064c7afe310ebcd2a43d49e11a0f4d7dcc"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfHexceramidends (cyclomatic 31): LipidMsmsCharacterization.JudgeIfHexceramidends has cyclomatic complexity 31 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8718}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8bcded9dcfac3ef275c29d621e41affc921684f2349eef04aa83c86f26efd01"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramideas (cyclomatic 31): LipidMsmsCharacterization.JudgeIfCeramideas has cyclomatic complexity 31 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9692}}}],"partialFingerprints":{"codehealthFindingId/v1":"f64784d1b73ce2c386b357f1bbb018e730d5b9e1d0ba6073dd73891642fcd706"}},{"ruleId":"D1","level":"warning","message":{"text":"CrossReferenceData.Compares (cyclomatic 31): CrossReferenceData.Compares has cyclomatic complexity 31 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Metabolite/CrossReference/CrossReferenceData.vb"},"region":{"startLine":254}}}],"partialFingerprints":{"codehealthFindingId/v1":"c222c0e08ea451a74ec3462e442fe48df6df9f428b98fb546af2bf0bb438afa8"}},{"ruleId":"D1","level":"warning","message":{"text":"AdductIonParser.GetOrganicAdductFormulaAndMass (cyclomatic 31): AdductIonParser.GetOrganicAdductFormulaAndMass has cyclomatic complexity 31 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/PrecursorType/AdductIonParser.vb"},"region":{"startLine":317}}}],"partialFingerprints":{"codehealthFindingId/v1":"13cc8bf73940df0cea940c00d67caaa76d718d61edbde0def90e9d5eeaabc320"}},{"ruleId":"D1","level":"warning","message":{"text":"DensityGroup.DensityGroupAlignment (cyclomatic 31): DensityGroup.DensityGroupAlignment has cyclomatic complexity 31 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/PeakAlignment/Algorithm/DensityGroup.vb"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c354e9a0c2a2ba3ab77f1324120b086f8cf3cc0896a4f6cd51458c98674f34d"}},{"ruleId":"D1","level":"warning","message":{"text":"GolotvinWilliamsBaselineCorrector.calculateBaselineModel (cyclomatic 30): GolotvinWilliamsBaselineCorrector.calculateBaselineModel has cyclomatic complexity 30 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/baseline/GolotvinWilliamsBaselineCorrector.vb"},"region":{"startLine":114}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e9a829aec06ba708543ccb265a8e53b00c6d6bc11911e7e0802f1e4c7c7a199"}},{"ruleId":"D1","level":"warning","message":{"text":"XcaliburRawFileIO.GetScanInfoInternal (cyclomatic 30): XcaliburRawFileIO.GetScanInfoInternal has cyclomatic complexity 30 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":1192}}}],"partialFingerprints":{"codehealthFindingId/v1":"612f374a9ae3a97513de8eb6c2b2fbf67331bed22d8bd927097ca93a238c6049"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfSphingomyelin (cyclomatic 30): LipidMsmsCharacterization.JudgeIfSphingomyelin has cyclomatic complexity 30 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfSphingomyelinD9) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2924}}}],"partialFingerprints":{"codehealthFindingId/v1":"076e5bcc1da55e2ec40daedc6f4d1ed99247dd0bbce88cfe871a01693847540e"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfDgdg (cyclomatic 30): LipidMsmsCharacterization.JudgeIfDgdg has cyclomatic complexity 30 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5016}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d51417213ee029f726535d17fa648026e0899011c090fcf05011e523bd9c41d"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramideads (cyclomatic 30): LipidMsmsCharacterization.JudgeIfCeramideads has cyclomatic complexity 30 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9787}}}],"partialFingerprints":{"codehealthFindingId/v1":"d65e0f659d90b63786d0ea6555f75c88f301a69748456ddc7d7ce28f5d72a3c8"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfSphingomyelinD9 (cyclomatic 30): LipidMsmsCharacterization.JudgeIfSphingomyelinD9 has cyclomatic complexity 30 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfSphingomyelin) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":16232}}}],"partialFingerprints":{"codehealthFindingId/v1":"de69b6e11ff318a9dcccc326e6dd45bafb0470d6429816aa7dd44648903b31d2"}},{"ruleId":"D1","level":"warning","message":{"text":"MsScanMatching.GetTotalSimilarity (cyclomatic 30): MsScanMatching.GetTotalSimilarity has cyclomatic complexity 30 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":1211}}}],"partialFingerprints":{"codehealthFindingId/v1":"defbe428aa9ccd34ac399613eabab862639c79c7afc72e0e980740215295feec"}},{"ruleId":"D1","level":"warning","message":{"text":"XcaliburRawFileIO.ExtractParentIonMZFromFilterText (cyclomatic 29): XcaliburRawFileIO.ExtractParentIonMZFromFilterText has cyclomatic complexity 29 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":597}}}],"partialFingerprints":{"codehealthFindingId/v1":"bffdde872ac7752b8658eae0c9b5089b0bf5915df598411f9d6042d4489d577d"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylcholine (cyclomatic 29): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylcholine has cyclomatic complexity 29 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfPhosphatidylcholineD5) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":230}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f2d1d2b1a8fa735ac1bd329cec6e20c19b692417372c393cd71420f0de0adb3"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylcholineD5 (cyclomatic 29): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylcholineD5 has cyclomatic complexity 29 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfPhosphatidylcholine) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2052}}}],"partialFingerprints":{"codehealthFindingId/v1":"dcaac020c01e9b38e51f47f18d3931371f7159dae9b3b85d1bdab293a5297d9d"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtheroxpc (cyclomatic 29): LipidMsmsCharacterization.JudgeIfEtheroxpc has cyclomatic complexity 29 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3995}}}],"partialFingerprints":{"codehealthFindingId/v1":"2508d9d4ae4763334e97632b56e3b243e437b0c8fbc0664a6bf1e794e7c246cf"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLysopcD5 (cyclomatic 29): LipidMsmsCharacterization.JudgeIfLysopcD5 has cyclomatic complexity 29 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15717}}}],"partialFingerprints":{"codehealthFindingId/v1":"8cda378d970b60aadb3a184bc280d0104d3259cfc46170fd435c0897c4bc3f67"}},{"ruleId":"D1","level":"warning","message":{"text":"PeakDetector.DetectByMatchedFilter (cyclomatic 29): PeakDetector.DetectByMatchedFilter has cyclomatic complexity 29 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakDetector.vb"},"region":{"startLine":194}}}],"partialFingerprints":{"codehealthFindingId/v1":"92548e7b0e56e3a4d01b3677e86c110a7e450e05cf0ad3acf82115c4116026ab"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfDgts (cyclomatic 28): LipidMsmsCharacterization.JudgeIfDgts has cyclomatic complexity 28 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6007}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b4f9aad23db16c43fbcf017d62d0545a79ba5d31499e07e48d48ce97f8977b2"}},{"ruleId":"D1","level":"warning","message":{"text":"IsotopeCalculator.getNominalIsotopeElementPropertyForTenIsotopomerElement (cyclomatic 28): IsotopeCalculator.getNominalIsotopeElementPropertyForTenIsotopomerElement has cyclomatic complexity 28 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1283}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c7361c5099304d073d8e7f268e832b5c462bddb156418ce3db125f770b5fc91"}},{"ruleId":"D1","level":"warning","message":{"text":"FormulaStringParcer.setElementNumbers (cyclomatic 28): FormulaStringParcer.setElementNumbers has cyclomatic complexity 28 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":474}}}],"partialFingerprints":{"codehealthFindingId/v1":"e7b7a542daa99131a289899dc9420ecb1d4a1c0f377da968bfc2d8127cf3d0fa"}},{"ruleId":"D1","level":"warning","message":{"text":"AdductIonParser.IsCommonAdduct (cyclomatic 28): AdductIonParser.IsCommonAdduct has cyclomatic complexity 28 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/PrecursorType/AdductIonParser.vb"},"region":{"startLine":209}}}],"partialFingerprints":{"codehealthFindingId/v1":"60996a2af5dc2fc18fc29a22d02e4c9cecd36e5b7fc77c0864f79dd3eed80ec9"}},{"ruleId":"D1","level":"warning","message":{"text":"MetaDbXref.cbindMeta (cyclomatic 27): MetaDbXref.cbindMeta has cyclomatic complexity 27 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/MetaDbXref.vb"},"region":{"startLine":1049}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a291305b7bf148eb9c65b3d92e36a1a127f7bb887236a9600ddfc163c47ebd3"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylethanolamine (cyclomatic 27): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylethanolamine has cyclomatic complexity 27 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":414}}}],"partialFingerprints":{"codehealthFindingId/v1":"a35dfde22abbb361999444167386102e932301ae1944cc0b4f92947ae2f00bc7"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherpc (cyclomatic 27): LipidMsmsCharacterization.JudgeIfEtherpc has cyclomatic complexity 27 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3737}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8f8605dbe5b44271dd96853c98a041f2b139f9d1e4d135720a9541041089a52"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfMgdg (cyclomatic 27): LipidMsmsCharacterization.JudgeIfMgdg has cyclomatic complexity 27 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4873}}}],"partialFingerprints":{"codehealthFindingId/v1":"03653cbb1733edb32a70d55127abb91b9227ddd7a049fd9264e94aac47cdbba1"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramidebs (cyclomatic 27): LipidMsmsCharacterization.JudgeIfCeramidebs has cyclomatic complexity 27 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9888}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6fc157311d6119818e759ef12eca9334ce3c164b2c0ac7d6630559cef720c1e"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfFahfamidegly (cyclomatic 27): LipidMsmsCharacterization.JudgeIfFahfamidegly has cyclomatic complexity 27 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12961}}}],"partialFingerprints":{"codehealthFindingId/v1":"5679e3d8fcfdefb9a9361b83a7950014640c5bd11a9fe4153651740a624bb930"}},{"ruleId":"D1","level":"warning","message":{"text":"OadLipidSpectrumGenerator.GetClassFragmentSpectrum (cyclomatic 27): OadLipidSpectrumGenerator.GetClassFragmentSpectrum has cyclomatic complexity 27 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/OadLipidsSpectrumGenerator.vb"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"b792853c83026c3e143bfd4753d67a5eabfaf652b31c430acf40460095928df9"}},{"ruleId":"D1","level":"warning","message":{"text":"MsScanMatching.GetTotalSimilarity (cyclomatic 27): MsScanMatching.GetTotalSimilarity has cyclomatic complexity 27 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":1342}}}],"partialFingerprints":{"codehealthFindingId/v1":"abbc9c3c49d268f5cfacd1e385b4e9f86167d86efba6b8d66007259bfc184f25"}},{"ruleId":"D1","level":"warning","message":{"text":"NCAAnalyzer.Analyze (cyclomatic 27): NCAAnalyzer.Analyze has cyclomatic complexity 27 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/PKAnalysis.vb"},"region":{"startLine":143}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce498cddb76e0392cd89bc13dea846ec9e149b1e84cf80e7eb03eaeb23512ba8"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEthertag (cyclomatic 26): LipidMsmsCharacterization.JudgeIfEthertag has cyclomatic complexity 26 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5842}}}],"partialFingerprints":{"codehealthFindingId/v1":"5549d1354d821a19382c61b5d5bea29575399cade232218ecad77a0b1427314b"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfSulfonolipid (cyclomatic 26): LipidMsmsCharacterization.JudgeIfSulfonolipid has cyclomatic complexity 26 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13210}}}],"partialFingerprints":{"codehealthFindingId/v1":"1dd1f3294b1499cf08a91ac0c26a2fa75059773f956092405b89c28063a5240d"}},{"ruleId":"D1","level":"warning","message":{"text":"MsScanMatching.GetSimpleDotProduct (cyclomatic 26): MsScanMatching.GetSimpleDotProduct has cyclomatic complexity 26 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":1034}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ebe8b92e36102ba6b6448b2c7479a2f0a0794f4af979870ec11e03431a22292"}},{"ruleId":"D1","level":"warning","message":{"text":"FormulaGenerator.getFormulaSearchResults (cyclomatic 26): FormulaGenerator.getFormulaSearchResults has cyclomatic complexity 26 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaGenerator.vb"},"region":{"startLine":467}}}],"partialFingerprints":{"codehealthFindingId/v1":"61951a4dcd2db7676a8a885b8cd83289d43156c00d382fac44cb04afaca055fc"}},{"ruleId":"D1","level":"warning","message":{"text":"PeakDetector.DetectByLocalMaximum (cyclomatic 26): PeakDetector.DetectByLocalMaximum has cyclomatic complexity 26 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakDetector.vb"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5928a62d82f6b9ac1007b56532019bf10feb2b126d10ad26a7725224a2d6d3d"}},{"ruleId":"D1","level":"warning","message":{"text":"SpectralPreprocessor.DerivativeSpikeRemoval (cyclomatic 26): SpectralPreprocessor.DerivativeSpikeRemoval has cyclomatic complexity 26 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":1030}}}],"partialFingerprints":{"codehealthFindingId/v1":"30ff917578d112314ea7e1eb9cf68ab387f610dca5dc4722dbbbb461460486f9"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidomicsConverter.acylChainStringSeparatorVS2 (cyclomatic 25): LipidomicsConverter.acylChainStringSeparatorVS2 has cyclomatic complexity 25 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This is NOT this file\u0027s highest cyclomatic complexity: LipidomicsConverter.ConvertMsdialClassDefinitionToSuperClassVS2 (cyclomatic 237) is higher and carries no row of its own \u2014 it was excluded as a flat dispatcher (a long switch/match over independent cases: many branches, almost no nesting), which this dimension does not treat as a refactor obligation. It is named here so the ranking you see in this file is not mistaken for the whole of it; the excluded method is counted neither in this dimension\u0027s figures nor in its score."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb"},"region":{"startLine":3508}}}],"partialFingerprints":{"codehealthFindingId/v1":"8581ed9f85bc545da3b901bf10312824db5af9c7ae21d4b5e07527c605aeeeb5"}},{"ruleId":"D1","level":"warning","message":{"text":"CeramideLipidParser.Parse (cyclomatic 25): CeramideLipidParser.Parse has cyclomatic complexity 25 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidParser/CeramideLipidParser.vb"},"region":{"startLine":74}}}],"partialFingerprints":{"codehealthFindingId/v1":"0211cc9044b8e27c296657b6196909ae3cbb73df09bd19c065e9f50d88a0d6e0"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfOxpc (cyclomatic 25): LipidMsmsCharacterization.JudgeIfOxpc has cyclomatic complexity 25 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4311}}}],"partialFingerprints":{"codehealthFindingId/v1":"03ddcc8634ed1c02683db35594627496f99b855835e5f487237252f92f61cc16"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfHemiismonoacylglycerophosphate (cyclomatic 25): LipidMsmsCharacterization.JudgeIfHemiismonoacylglycerophosphate has cyclomatic complexity 25 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7003}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c29c731ff9ee55f937c58061aa5a926b852c4de33efb421c6db55dc28bbfbc0"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramidebds (cyclomatic 25): LipidMsmsCharacterization.JudgeIfCeramidebds has cyclomatic complexity 25 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9970}}}],"partialFingerprints":{"codehealthFindingId/v1":"f5b1a3b150ce8c18347c6556e974faea19775a015c07f598af9ad3448e2a76ee"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAcylcerbds (cyclomatic 25): LipidMsmsCharacterization.JudgeIfAcylcerbds has cyclomatic complexity 25 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10985}}}],"partialFingerprints":{"codehealthFindingId/v1":"95f744a140036a317ff78674709bb715d083fe33ef0321bf592a6d86cac7e48b"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAshexcer (cyclomatic 25): LipidMsmsCharacterization.JudgeIfAshexcer has cyclomatic complexity 25 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11270}}}],"partialFingerprints":{"codehealthFindingId/v1":"a26e292749ef3d8990f641f61edc87723e52b807854f2b4112ec4341fbaf35cd"}},{"ruleId":"D1","level":"warning","message":{"text":"FormulaCalculateUtility.GetFormulaString (cyclomatic 25): FormulaCalculateUtility.GetFormulaString has cyclomatic complexity 25 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/FormulaCalculateUtility.vb"},"region":{"startLine":291}}}],"partialFingerprints":{"codehealthFindingId/v1":"310fb1cc8b71cf6b576417c396e9a6ce5bae0c4d01e82989e203f72bb3265326"}},{"ruleId":"D1","level":"warning","message":{"text":"IsotopeCalculator.getNominalIsotopeElementPropertyForNineIsotopomerElement (cyclomatic 25): IsotopeCalculator.getNominalIsotopeElementPropertyForNineIsotopomerElement has cyclomatic complexity 25 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1504}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d0e71984a1707b461ec0888505ce0ed3fc5c1b3a93fe3869ed147c3e72c5fdc"}},{"ruleId":"D1","level":"warning","message":{"text":"FragmentAssigner.AnnotateIsotopes (cyclomatic 25): FragmentAssigner.AnnotateIsotopes has cyclomatic complexity 25 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FragmentAssigner.vb"},"region":{"startLine":779}}}],"partialFingerprints":{"codehealthFindingId/v1":"44ffdcbd9c7988375c8b72e1ffcc61b5c9a15d8f7fbc2948da65f76b4b02fe39"}},{"ruleId":"D1","level":"warning","message":{"text":"MissingValueImputation.ImputePCA (cyclomatic 25): MissingValueImputation.ImputePCA has cyclomatic complexity 25 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":422}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ee5b633886033d1bf3297be1e08ac63191095a624fbb3729ebaafd3a94c90f4"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLysope (cyclomatic 24): LipidMsmsCharacterization.JudgeIfLysope has cyclomatic complexity 24 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3638}}}],"partialFingerprints":{"codehealthFindingId/v1":"63f94f2129f8a53b73c71f4320088a2953315081ee250f7555eca4deba5e3eef"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramideeods (cyclomatic 24): LipidMsmsCharacterization.JudgeIfCeramideeods has cyclomatic complexity 24 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10458}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ff705f4f6ddba2d8a8d99577536748577c79b499bee172d53860cc4e3b42f2b"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramideos (cyclomatic 24): LipidMsmsCharacterization.JudgeIfCeramideos has cyclomatic complexity 24 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10774}}}],"partialFingerprints":{"codehealthFindingId/v1":"f8b63c30262bb3b8caa85951bb82e9e63f67aef6b293f9b3696d7cd6bb1f7633"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfFahfaTriacylglycerol (cyclomatic 24): LipidMsmsCharacterization.JudgeIfFahfaTriacylglycerol has cyclomatic complexity 24 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14651}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef5a1c6285676a1d0559815443c7f737f1cfc112c30402a26706277c19e6ee56"}},{"ruleId":"D1","level":"warning","message":{"text":"MS_Peak_ID.GetMatches (cyclomatic 24): MS_Peak_ID.GetMatches has cyclomatic complexity 24 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/MS_Peak/Oligonucleotide_MS_Peak_ID_Given_Sequence_v8.vb"},"region":{"startLine":455}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe25bc1d87cd1a1a243df699500b4e3399974d32b605542fc1d4deca8554cf6f"}},{"ruleId":"D1","level":"warning","message":{"text":"Extensions.InchiKey (cyclomatic 24): Extensions.InchiKey has cyclomatic complexity 24 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Extensions.vb"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"da7a892c70443a5d9c45acaebce80f316f7f1619c2ca15385dd6c63cd596b765"}},{"ruleId":"D1","level":"warning","message":{"text":"FormulaStringParcer.IsOrganicFormula (cyclomatic 24): FormulaStringParcer.IsOrganicFormula has cyclomatic complexity 24 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":116}}}],"partialFingerprints":{"codehealthFindingId/v1":"c431d24693a9d196e3d2a08620169f3ef9302963ec54a662362ecefcc4b035c8"}},{"ruleId":"D1","level":"warning","message":{"text":"PeakAssign.PlotInternal (cyclomatic 23): PeakAssign.PlotInternal has cyclomatic complexity 23 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/PeakAssign.vb"},"region":{"startLine":185}}}],"partialFingerprints":{"codehealthFindingId/v1":"6e6c2c732854161f08cdbea303740cf1a61bb0877739d7bf21d2ae3bad0790b0"}},{"ruleId":"D1","level":"warning","message":{"text":"XcaliburRawFileIO.GetScanTypeNameFromThermoScanFilterText (cyclomatic 23): XcaliburRawFileIO.GetScanTypeNameFromThermoScanFilterText has cyclomatic complexity 23 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":1478}}}],"partialFingerprints":{"codehealthFindingId/v1":"9fecb31e0febdf542c110e0a68a6217dcfe784b79ac11c97248e47b992ea0f5a"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfLysopc (cyclomatic 23): LipidEieioMsmsCharacterization.JudgeIfLysopc has cyclomatic complexity 23 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1067}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce7b0600105e15442a89c5d02af943ef6248769ec8a92b2a158f3d1e99331220"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylethanolamineD5 (cyclomatic 23): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylethanolamineD5 has cyclomatic complexity 23 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2235}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba7eb38657eafff69956383a60074ab1592b475b1df4ea18551df7bd2582e985"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylethanolamine (cyclomatic 23): LipidMsmsCharacterization.JudgeIfPhosphatidylethanolamine has cyclomatic complexity 23 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylethanolamineD5) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":1989}}}],"partialFingerprints":{"codehealthFindingId/v1":"a43cfc09ca81df8620782e6d991559b5d907965040422ad730ef84668cdada8b"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLysocardiolipin (cyclomatic 23): LipidMsmsCharacterization.JudgeIfLysocardiolipin has cyclomatic complexity 23 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7504}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e43087607838ee2b70bc994f3bb7ab71261c8c9cf02618733e5e1b7b49bfcce"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylethanolamineD5 (cyclomatic 23): LipidMsmsCharacterization.JudgeIfPhosphatidylethanolamineD5 has cyclomatic complexity 23 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylethanolamine) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15234}}}],"partialFingerprints":{"codehealthFindingId/v1":"1611f8af3d7006ffa6e34c9b5b8c609e2eeecf4db54c21ddc06fd2c04d99b831"}},{"ruleId":"D1","level":"warning","message":{"text":"FormulaStringParcer.setElementNumbers (cyclomatic 23): FormulaStringParcer.setElementNumbers has cyclomatic complexity 23 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":351}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f1fff4f0814fb5e38ed26e030f7933286250c742e783bf5df362168878b1540"}},{"ruleId":"D1","level":"warning","message":{"text":"FragmentAssigner.isotopicPeakAssignmnet (cyclomatic 23): FragmentAssigner.isotopicPeakAssignmnet has cyclomatic complexity 23 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FragmentAssigner.vb"},"region":{"startLine":701}}}],"partialFingerprints":{"codehealthFindingId/v1":"52459d4527475ab900ed22950888b8d0ed6a2701867752678b6d498adf972a60"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylinositol (cyclomatic 22): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylinositol has cyclomatic complexity 22 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfPhosphatidylinositolD5) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":892}}}],"partialFingerprints":{"codehealthFindingId/v1":"63ca2102ca84574a5b0bcb2eb1073c0e1e513b65a759843a6c62223722aa3c80"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfSphingomyelin (cyclomatic 22): LipidEieioMsmsCharacterization.JudgeIfSphingomyelin has cyclomatic complexity 22 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfSphingomyelinD9) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1326}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f6ba8bceaf93d62d9505fe53b1489b665c26d6e7cdbb28ea437d91369c4c8f3"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylinositolD5 (cyclomatic 22): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylinositolD5 has cyclomatic complexity 22 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfPhosphatidylinositol) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2659}}}],"partialFingerprints":{"codehealthFindingId/v1":"9730a8f1a6b2dbfa6e22c1a4369ec9bc0b11e0a81c8691d50860a0e384302389"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfSphingomyelinD9 (cyclomatic 22): LipidEieioMsmsCharacterization.JudgeIfSphingomyelinD9 has cyclomatic complexity 22 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfSphingomyelin) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3309}}}],"partialFingerprints":{"codehealthFindingId/v1":"1dc76ad2586cf1ecbacaecfc9a642a3f27a9c8da432c37eb4d272dd4ffd5644e"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAcylglcadg (cyclomatic 22): LipidMsmsCharacterization.JudgeIfAcylglcadg has cyclomatic complexity 22 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6468}}}],"partialFingerprints":{"codehealthFindingId/v1":"f264e14026403a89ac792156688e31a116b24fa542fb896c682058882f52a316"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfOxTriacylglycerol (cyclomatic 22): LipidMsmsCharacterization.JudgeIfOxTriacylglycerol has cyclomatic complexity 22 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14570}}}],"partialFingerprints":{"codehealthFindingId/v1":"49c13aa8892f69cc2d8b7c2281e93d6d9da64b2b226502d71358b5c1a77a73f0"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLysopeD5 (cyclomatic 22): LipidMsmsCharacterization.JudgeIfLysopeD5 has cyclomatic complexity 22 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15809}}}],"partialFingerprints":{"codehealthFindingId/v1":"bbb2694402a4bd8df45730f5328658f5e7e16b5ae55bfe6d458992f2aa28f63a"}},{"ruleId":"D1","level":"warning","message":{"text":"SpectrumPeakGenerator.GetDoubleBondSpectrum (cyclomatic 22): SpectrumPeakGenerator.GetDoubleBondSpectrum has cyclomatic complexity 22 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumPeakGenerator.vb"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"c553f526c8ad38110798a22272fb4ade862d20f9d9c2b304ae633d962444a865"}},{"ruleId":"D1","level":"warning","message":{"text":"IsotopeCalculator.getNominalIsotopeElementPropertyForEightIsotopomerElement (cyclomatic 22): IsotopeCalculator.getNominalIsotopeElementPropertyForEightIsotopomerElement has cyclomatic complexity 22 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1701}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf4dd388709843936e2da2269e6ff9975b4a421ae9efa1ba4fd45362008f9b02"}},{"ruleId":"D1","level":"warning","message":{"text":"SequenceToSpec.GetSpectrumPeaksByHotECD (cyclomatic 22): SequenceToSpec.GetSpectrumPeaksByHotECD has cyclomatic complexity 22 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/SequenceToSpec.vb"},"region":{"startLine":255}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae6a8a4dee0c2b4fa5277731294c4cbf90e781e102dbe40ef7c54037f85fbf7a"}},{"ruleId":"D1","level":"warning","message":{"text":"TICplot.RunPlot (cyclomatic 21): TICplot.RunPlot has cyclomatic complexity 21 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/ChromatogramPlot/TICplot.vb"},"region":{"startLine":200}}}],"partialFingerprints":{"codehealthFindingId/v1":"cca2e24e5d2b7208a2452e7eaf450080fe83252cb7ddf3d27fe3b7784001901c"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidomicsConverter.ConvertMsdialLipidnameToLipidMoleculeObjectVS2 (cyclomatic 21): LipidomicsConverter.ConvertMsdialLipidnameToLipidMoleculeObjectVS2 has cyclomatic complexity 21 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This is NOT this file\u0027s highest cyclomatic complexity: LipidomicsConverter.ConvertMsdialClassDefinitionToSuperClassVS2 (cyclomatic 237) is higher and carries no row of its own \u2014 it was excluded as a flat dispatcher (a long switch/match over independent cases: many branches, almost no nesting), which this dimension does not treat as a refactor obligation. It is named here so the ranking you see in this file is not mistaken for the whole of it; the excluded method is counted neither in this dimension\u0027s figures nor in its score."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb"},"region":{"startLine":507}}}],"partialFingerprints":{"codehealthFindingId/v1":"52457d24712cab144d452bbd9ed5efe0888b0096f88bc04e1e83e4317ab4d36f"}},{"ruleId":"D1","level":"warning","message":{"text":"EieioMsCharacterizationUtility.GetDefaultScore (cyclomatic 21): EieioMsCharacterizationUtility.GetDefaultScore has cyclomatic complexity 21 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/EieioMsCharacterizationUtility.vb"},"region":{"startLine":381}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb1ff12cb2253738a718d5491315945cd9330f583f01c5b81cd143e244fa3cc7"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylserine (cyclomatic 21): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylserine has cyclomatic complexity 21 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfPhosphatidylserineD5) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":726}}}],"partialFingerprints":{"codehealthFindingId/v1":"c89da15539bcab934dd1e9391248b71d475c12084f0744a8ed0b7d8a6cafb0f4"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylserineD5 (cyclomatic 21): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylserineD5 has cyclomatic complexity 21 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfPhosphatidylserine) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2492}}}],"partialFingerprints":{"codehealthFindingId/v1":"62dc0430b47e8dfb65a8d1f840d1fb561361f295e23a20e94a0396cd54290316"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfLysopcD5 (cyclomatic 21): LipidEieioMsmsCharacterization.JudgeIfLysopcD5 has cyclomatic complexity 21 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2833}}}],"partialFingerprints":{"codehealthFindingId/v1":"96908a2c11df95620f76600fb67cf362cecbb439422d662017e1ea7479a5370d"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfTriacylglycerolD5 (cyclomatic 21): LipidEieioMsmsCharacterization.JudgeIfTriacylglycerolD5 has cyclomatic complexity 21 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3176}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f3a3ce90e02c47f03dc442aa0ae77dade219fdfadd49a4e26b2d0e8a0622d10"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLdgts (cyclomatic 21): LipidMsmsCharacterization.JudgeIfLdgts has cyclomatic complexity 21 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6168}}}],"partialFingerprints":{"codehealthFindingId/v1":"1eca6a221f149f1157e101546fc59d724ead4e2e6d89f543eeaa628d2042c726"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfHexhexceramidens (cyclomatic 21): LipidMsmsCharacterization.JudgeIfHexhexceramidens has cyclomatic complexity 21 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9121}}}],"partialFingerprints":{"codehealthFindingId/v1":"984b63947a1891a9bc9994f4d80d9e5941e032fcfff0d4aaa6b9f7dca10d84fb"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfHexhexhexceramidens (cyclomatic 21): LipidMsmsCharacterization.JudgeIfHexhexhexceramidens has cyclomatic complexity 21 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9239}}}],"partialFingerprints":{"codehealthFindingId/v1":"a22518b718a5423ec9729da1bcc8591652827435ff101a29cdbacb91206c80af"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfShexcer (cyclomatic 21): LipidMsmsCharacterization.JudgeIfShexcer has cyclomatic complexity 21 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11440}}}],"partialFingerprints":{"codehealthFindingId/v1":"df71d280be93bc02fbda0c060af38a784d84bb7c4fc7001c2fafd17b3aa52ca9"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherSmgdg (cyclomatic 21): LipidMsmsCharacterization.JudgeIfEtherSmgdg has cyclomatic complexity 21 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14140}}}],"partialFingerprints":{"codehealthFindingId/v1":"3de998a8cbe32b20c7193540049e474d824a19ea84ade4b5d1d617185b71665a"}},{"ruleId":"D1","level":"warning","message":{"text":"IsotopeCalculator.GetBasicCompoundElementProfile (cyclomatic 21): IsotopeCalculator.GetBasicCompoundElementProfile has cyclomatic complexity 21 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":122}}}],"partialFingerprints":{"codehealthFindingId/v1":"61adb1022895fded861bbe5a24fdc9cc78c97be47d254d91317f3da60670ac79"}},{"ruleId":"D1","level":"warning","message":{"text":"PeptideCalc.Sequence2FastPeptidesByVariableModifications (cyclomatic 21): PeptideCalc.Sequence2FastPeptidesByVariableModifications has cyclomatic complexity 21 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/PeptideCalc.vb"},"region":{"startLine":255}}}],"partialFingerprints":{"codehealthFindingId/v1":"45855f3dd0178cafd02d816e849bfebfb2fec75d9c977916c282ac0f3d0e897e"}},{"ruleId":"D1","level":"warning","message":{"text":"MetaDbXref.searchTable (cyclomatic 20): MetaDbXref.searchTable has cyclomatic complexity 20 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/MetaDbXref.vb"},"region":{"startLine":898}}}],"partialFingerprints":{"codehealthFindingId/v1":"098b13c4d1d4121c20e65c2aeb8eb6cabdd18495f5d3e58ba7d7442bb8e8b4c8"}},{"ruleId":"D1","level":"warning","message":{"text":"Assembly.writeMgfIons (cyclomatic 20): Assembly.writeMgfIons has cyclomatic complexity 20 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/Assembly.vb"},"region":{"startLine":336}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6d61172d1742bcb618c0cd652d218ad13e9ea0298d66efbc4720de23509036c"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidomicsConverter.ConvertMsdialLipidnameToLipidMoleculeObjectVS2 (cyclomatic 20): LipidomicsConverter.ConvertMsdialLipidnameToLipidMoleculeObjectVS2 has cyclomatic complexity 20 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This is NOT this file\u0027s highest cyclomatic complexity: LipidomicsConverter.ConvertMsdialClassDefinitionToSuperClassVS2 (cyclomatic 237) is higher and carries no row of its own \u2014 it was excluded as a flat dispatcher (a long switch/match over independent cases: many branches, almost no nesting), which this dimension does not treat as a refactor obligation. It is named here so the ranking you see in this file is not mistaken for the whole of it; the excluded method is counted neither in this dimension\u0027s figures nor in its score."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb"},"region":{"startLine":542}}}],"partialFingerprints":{"codehealthFindingId/v1":"eac71ab44acf1ce0c2c215726df8070aca03815c0cea0b44e8a17ac39f77af24"}},{"ruleId":"D1","level":"warning","message":{"text":"MsScanMatching.GetRefinedLipidAnnotationLevel (cyclomatic 20): MsScanMatching.GetRefinedLipidAnnotationLevel has cyclomatic complexity 20 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (MsScanMatching.GetRefinedLipidAnnotationLevelForEIEIO) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared. This is NOT this file\u0027s highest cyclomatic complexity: MsScanMatching.GetEieioBasedLipidMoleculeAnnotationResult (cyclomatic 56) is higher and carries no row of its own \u2014 it was excluded as a flat dispatcher (a long switch/match over independent cases: many branches, almost no nesting), which this dimension does not treat as a refactor obligation. It is named here so the ranking you see in this file is not mistaken for the whole of it; the excluded method is counted neither in this dimension\u0027s figures nor in its score."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":1471}}}],"partialFingerprints":{"codehealthFindingId/v1":"a12226bd4ad3f4a539a4b9cb3b628abd807d5af217175cd08e7aafbaf71cad56"}},{"ruleId":"D1","level":"warning","message":{"text":"MsScanMatching.GetRefinedLipidAnnotationLevelForEIEIO (cyclomatic 20): MsScanMatching.GetRefinedLipidAnnotationLevelForEIEIO has cyclomatic complexity 20 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (MsScanMatching.GetRefinedLipidAnnotationLevel) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared. This is NOT this file\u0027s highest cyclomatic complexity: MsScanMatching.GetEieioBasedLipidMoleculeAnnotationResult (cyclomatic 56) is higher and carries no row of its own \u2014 it was excluded as a flat dispatcher (a long switch/match over independent cases: many branches, almost no nesting), which this dimension does not treat as a refactor obligation. It is named here so the ranking you see in this file is not mistaken for the whole of it; the excluded method is counted neither in this dimension\u0027s figures nor in its score."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":1635}}}],"partialFingerprints":{"codehealthFindingId/v1":"927f9f4a122b961b87023f6985bd99764da012830a4dcf4bfa4ad3e0e8369a75"}},{"ruleId":"D1","level":"warning","message":{"text":"HexCerLipidParser.Parse (cyclomatic 20): HexCerLipidParser.Parse has cyclomatic complexity 20 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidParser/HexCerLipidParser.vb"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"b23c9c71f6ecb8ebd5cd57407d1cb833774358206876389aa6e6c9e229b5fe4b"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfEtherpe (cyclomatic 20): LipidEieioMsmsCharacterization.JudgeIfEtherpe has cyclomatic complexity 20 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1497}}}],"partialFingerprints":{"codehealthFindingId/v1":"b75e91197270cfd471b68ce1caeccc34c599a72da3cfb3abe2263d508f1ceaff"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherpe (cyclomatic 20): LipidMsmsCharacterization.JudgeIfEtherpe has cyclomatic complexity 20 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3857}}}],"partialFingerprints":{"codehealthFindingId/v1":"c44ddec85d46a47c63cbb8e757844473ad7f899696ba422cc95453688d254b26"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtheroxpe (cyclomatic 20): LipidMsmsCharacterization.JudgeIfEtheroxpe has cyclomatic complexity 20 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4094}}}],"partialFingerprints":{"codehealthFindingId/v1":"58f80b0f99c94b721db21fa0a1091e41fdf6aa11b5563b09c5dafbb19a8fbb74"}},{"ruleId":"D1","level":"warning","message":{"text":"MummichogAnnotator.PerformPathwayEnrichment (cyclomatic 20): MummichogAnnotator.PerformPathwayEnrichment has cyclomatic complexity 20 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Mummichog/MummichogModule.vb"},"region":{"startLine":456}}}],"partialFingerprints":{"codehealthFindingId/v1":"8273fb67c55973cefc7f89122eeed033ff46974f955a32c38fd2ec3492256b94"}},{"ruleId":"D1","level":"warning","message":{"text":"Composition.FindCompositions (cyclomatic 20): Composition.FindCompositions has cyclomatic complexity 20 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/OligonucleotideComposition/Oligonucleotide_Composition_from_Mass_Calculator_v2.vb"},"region":{"startLine":125}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b0c6ab13f92242ee56072695909536193f77898f47710bba740a2ac7e0342ff"}},{"ruleId":"D1","level":"warning","message":{"text":"FormulaScanner.Convert2FormulaObjV2 (cyclomatic 20): FormulaScanner.Convert2FormulaObjV2 has cyclomatic complexity 20 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/FormulaScanner.vb"},"region":{"startLine":96}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5cd0069957c100ddcfd8b1ea578315e1bcc3fcca24a5d43d876074dda820467"}},{"ruleId":"D1","level":"warning","message":{"text":"FormulaScanner.ScanFormula (cyclomatic 20): FormulaScanner.ScanFormula has cyclomatic complexity 20 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/FormulaScanner.vb"},"region":{"startLine":376}}}],"partialFingerprints":{"codehealthFindingId/v1":"f68d3bc31749dd1cb07dd4019ed94be1e1c18550ed6face65f09e7f913ae83dd"}},{"ruleId":"D1","level":"warning","message":{"text":"PeakAreaCalculator.GaussianFittingIntegration (cyclomatic 20): PeakAreaCalculator.GaussianFittingIntegration has cyclomatic complexity 20 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakArea/PeakAreaCalculator.vb"},"region":{"startLine":100}}}],"partialFingerprints":{"codehealthFindingId/v1":"511d2d4d6c6f0bcec1e0d632c1206a241f2bda252314eec287bf9c3bf1ee8a57"}},{"ruleId":"D1","level":"warning","message":{"text":"XcaliburRawFileIO.GetTuneData (cyclomatic 19): XcaliburRawFileIO.GetTuneData has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":1630}}}],"partialFingerprints":{"codehealthFindingId/v1":"574a837b3ce668a63577c3a672ae0466b5e2bae871837ecbe046de0f5120ff7d"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylserine (cyclomatic 19): LipidMsmsCharacterization.JudgeIfPhosphatidylserine has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylserineD5) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2151}}}],"partialFingerprints":{"codehealthFindingId/v1":"08633a0ed91161f4dd2def866e63406b5d788e42ad9055609d3ed3dfb8f8093c"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylglycerol (cyclomatic 19): LipidMsmsCharacterization.JudgeIfPhosphatidylglycerol has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylglycerolD5) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2402}}}],"partialFingerprints":{"codehealthFindingId/v1":"2af560c5b31ebd8f0b5c731800d0ae3880dabfd9b472919f2461f70971edfe66"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfNacylphosphatidylserine (cyclomatic 19): LipidMsmsCharacterization.JudgeIfNacylphosphatidylserine has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2700}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d64c6258db32c9ff49146798d4e5caaf8ca627a67213f7daae577d06520bb08"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfOxpe (cyclomatic 19): LipidMsmsCharacterization.JudgeIfOxpe has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4410}}}],"partialFingerprints":{"codehealthFindingId/v1":"9aaa3cce4066df2bdc30350abb4a6cba6e4aa108daf1307d8bca982735db3584"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylserineD5 (cyclomatic 19): LipidMsmsCharacterization.JudgeIfPhosphatidylserineD5 has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylserine) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15379}}}],"partialFingerprints":{"codehealthFindingId/v1":"a2dd6558d152d68350cc07d452d6bcf67287e0ea92b89c6112317e034d67d695"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylglycerolD5 (cyclomatic 19): LipidMsmsCharacterization.JudgeIfPhosphatidylglycerolD5 has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylglycerol) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15501}}}],"partialFingerprints":{"codehealthFindingId/v1":"a22100fc7966cb945578d30bdd7f858bfd5c4081cbd906335786bddcae5449e6"}},{"ruleId":"D1","level":"warning","message":{"text":"EidSpecificSpectrumGenerator.EidSpecificSpectrumGen (cyclomatic 19): EidSpecificSpectrumGenerator.EidSpecificSpectrumGen has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/EidSpecificSpectrumGenerator.vb"},"region":{"startLine":64}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b1c4ecdae6af514f63968d5e646b9f2f3c6a942e15c25e9ba4ad89c0152073c"}},{"ruleId":"D1","level":"warning","message":{"text":"MummichogAnnotator.ReverseAnnotation (cyclomatic 19): MummichogAnnotator.ReverseAnnotation has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Mummichog/MummichogModule.vb"},"region":{"startLine":584}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b11ae7cfec24128497c80947bf19ae0976009e815ff413e87ddf64e57167e47"}},{"ruleId":"D1","level":"warning","message":{"text":"IsotopeCalculator.getAllIsotopeElementPropertyForTenIsotopomerElement (cyclomatic 19): IsotopeCalculator.getAllIsotopeElementPropertyForTenIsotopomerElement has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":384}}}],"partialFingerprints":{"codehealthFindingId/v1":"05d9e11a9c58b43bb9d21bb9bb865b0673ebadad3afe272fb120bd565875f6a5"}},{"ruleId":"D1","level":"warning","message":{"text":"IsotopeCalculator.getNominalIsotopeElementPropertyForSevenIsotopomerElement (cyclomatic 19): IsotopeCalculator.getNominalIsotopeElementPropertyForSevenIsotopomerElement has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1876}}}],"partialFingerprints":{"codehealthFindingId/v1":"d104ff9e0622b0e5858667dab1dc72411292ac19f28f134bcac4cc6b42f4fa12"}},{"ruleId":"D1","level":"warning","message":{"text":"Scanner.MeasureElement (cyclomatic 19): Scanner.MeasureElement has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/Language/Scanner.vb"},"region":{"startLine":327}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ca780c3836212445714f2f85c1e6455b79d16fbf5932c987ba40bfb21b8f176"}},{"ruleId":"D1","level":"warning","message":{"text":"PeptideCalc.GetAminoAcidByFixedModifications (cyclomatic 19): PeptideCalc.GetAminoAcidByFixedModifications has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (PeptideCalc.GetAminoAcidByVariableModifications) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/PeptideCalc.vb"},"region":{"startLine":169}}}],"partialFingerprints":{"codehealthFindingId/v1":"865f104155549818fe23fee0218147e5d03412b9875d97f9a2ac0d2fae1ea280"}},{"ruleId":"D1","level":"warning","message":{"text":"PeptideCalc.GetAminoAcidByVariableModifications (cyclomatic 19): PeptideCalc.GetAminoAcidByVariableModifications has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (PeptideCalc.GetAminoAcidByFixedModifications) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/PeptideCalc.vb"},"region":{"startLine":390}}}],"partialFingerprints":{"codehealthFindingId/v1":"2903a953946a4924271a9053af9b4409906b4a668b2ced939a2f3ff4a2c9978d"}},{"ruleId":"D1","level":"warning","message":{"text":"DTW.ComputeDTW (cyclomatic 19): DTW.ComputeDTW has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/PeakAlignment/Algorithm/DTW.vb"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"93676cc420cb51260723c8ff1ada7004b5c46a4e76c86fd3021b84f9b77aa908"}},{"ruleId":"D1","level":"warning","message":{"text":"LOESS.LOESSAlignment (cyclomatic 19): LOESS.LOESSAlignment has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/PeakAlignment/Algorithm/LOESS.vb"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b9ef775c051bf4e7012e57f0d191fe87838c1ecebccfbbd0be224435bc3142d"}},{"ruleId":"D1","level":"warning","message":{"text":"FastSeekIndex.LoadIndex_mzML (cyclomatic 18): FastSeekIndex.LoadIndex_mzML has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/FastSeekIndex.vb"},"region":{"startLine":120}}}],"partialFingerprints":{"codehealthFindingId/v1":"367c85a56aedb47fa7fc4907435826a35398ba6b1fbe61c6d23b1259137ef745"}},{"ruleId":"D1","level":"warning","message":{"text":"ScanPopulator.Load (cyclomatic 18): ScanPopulator.Load has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/mzWebCache/ScanPopulator.vb"},"region":{"startLine":178}}}],"partialFingerprints":{"codehealthFindingId/v1":"63927fe5fe4ba146f4bb41a6deb1ab231be7ee1c844870d36a04416a3882c0be"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfDag (cyclomatic 18): LipidEieioMsmsCharacterization.JudgeIfDag has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1840}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d7a67d79d95933863aba6b58baedd6fc9063e5cad8a9529362f086efd488ef2"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylinositol (cyclomatic 18): LipidMsmsCharacterization.JudgeIfPhosphatidylinositol has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylinositolD5) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2580}}}],"partialFingerprints":{"codehealthFindingId/v1":"069413aa968c8c6a372ba6fa885865b7cef4d61f5d82f25698182b27c337d434"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfOxpg (cyclomatic 18): LipidMsmsCharacterization.JudgeIfOxpg has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4527}}}],"partialFingerprints":{"codehealthFindingId/v1":"00f5bcd59392a1bde80fbab9e142f5db5a32989f853576bdd1639992a5e986b8"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherDAG (cyclomatic 18): LipidMsmsCharacterization.JudgeIfEtherDAG has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5392}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d45b5b55fb04f22f9d5f7e967b74711eff469d10dade17cd1e03f84c52887f6"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfGlcadg (cyclomatic 18): LipidMsmsCharacterization.JudgeIfGlcadg has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6371}}}],"partialFingerprints":{"codehealthFindingId/v1":"573719e0da21285d08af3f808ee52686fa75184fa558f15466cfebc39341d389"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPicermide (cyclomatic 18): LipidMsmsCharacterization.JudgeIfPicermide has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12459}}}],"partialFingerprints":{"codehealthFindingId/v1":"19da67b2ca352cb40951b98b1fc5f73245753022a18362f8ab3a23d35f796cc7"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfMipc (cyclomatic 18): LipidMsmsCharacterization.JudgeIfMipc has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14477}}}],"partialFingerprints":{"codehealthFindingId/v1":"f5ed71da5c96675e3478194258b1271c354b0ba5f8ef375be6df06c1e4e4c8f1"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylinositolD5 (cyclomatic 18): LipidMsmsCharacterization.JudgeIfPhosphatidylinositolD5 has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylinositol) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15607}}}],"partialFingerprints":{"codehealthFindingId/v1":"a897c2f9b651655613f67c0ff16c0ee716ee959303d8b9d8e126111c8383f021"}},{"ruleId":"D1","level":"warning","message":{"text":"CerNSd7SpectrumGenerator.GetSphingoDoubleBondSpectrum (cyclomatic 18): CerNSd7SpectrumGenerator.GetSphingoDoubleBondSpectrum has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CeramideNsD7SpectrumGenerator.vb"},"region":{"startLine":172}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d0592e3e51752feffadce9bfa74e8dc5579c9f920c687812ca44e7bfdb7e940"}},{"ruleId":"D1","level":"warning","message":{"text":"MsScanMatching.GetMatchedPeaksScores (cyclomatic 18): MsScanMatching.GetMatchedPeaksScores has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":394}}}],"partialFingerprints":{"codehealthFindingId/v1":"66928f65ecd40f38293d2e6e8f09959e3b5ce74992ba8927a1e26baaee94bbec"}},{"ruleId":"D1","level":"warning","message":{"text":"MsScanMatching.GetMachedSpectralPeaks (cyclomatic 18): MsScanMatching.GetMachedSpectralPeaks has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":648}}}],"partialFingerprints":{"codehealthFindingId/v1":"719aef546367ee1327cda063bc94269757bdfb2d691407c39c66be57699a1ab8"}},{"ruleId":"D1","level":"warning","message":{"text":"Math.RunMaxLFQ (cyclomatic 18): Math.RunMaxLFQ has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/MaxLFQ/Math.vb"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"06e7d4adffe60029d78e97ddf46d4351173e98ac5344b2e5e43d082fd40be949"}},{"ruleId":"D1","level":"warning","message":{"text":"PeakProcessor.ProcessPeaksCombined (cyclomatic 18): PeakProcessor.ProcessPeaksCombined has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakProcessor.vb"},"region":{"startLine":154}}}],"partialFingerprints":{"codehealthFindingId/v1":"0653ab120ddb1b08c323ce77a8174bfa675856bd3213e1b83b1b5005543b3119"}},{"ruleId":"D1","level":"warning","message":{"text":"PeakQualityEvaluator.EvaluatePeakQuality (cyclomatic 18): PeakQualityEvaluator.EvaluatePeakQuality has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakQualityEvaluator.vb"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"19e38af65836126bfca8ce4e79671c96214331b841a4663ccea6cc70312d1597"}},{"ruleId":"D1","level":"warning","message":{"text":"SpectralPreprocessor.SolveALS (cyclomatic 18): SpectralPreprocessor.SolveALS has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":568}}}],"partialFingerprints":{"codehealthFindingId/v1":"683a7bdce8073e038010bcb49724b7f7a355da7622d5a80a1d669fb88a8907f9"}},{"ruleId":"D1","level":"warning","message":{"text":"XcaliburRawFileIO.GetScanDataSumScans (cyclomatic 17): XcaliburRawFileIO.GetScanDataSumScans has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":2367}}}],"partialFingerprints":{"codehealthFindingId/v1":"a68ccc32b97d12bbeb4e35103defca88a0d6d17ed2a8906e5ea19a67d9c29a1c"}},{"ruleId":"D1","level":"warning","message":{"text":"DoubleBondIndeterminateState.Indeterminate (cyclomatic 17): DoubleBondIndeterminateState.Indeterminate has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/DoubleBondIndeterminateState.vb"},"region":{"startLine":90}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e6f1fabe5fb94664982c28b1657e6a596eadc2148d567af18180fdffebf244a"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylglycerol (cyclomatic 17): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylglycerol has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":575}}}],"partialFingerprints":{"codehealthFindingId/v1":"429aa6282c7745638484a834119f77e92e70768680425067ab74240ab99aab99"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfLysope (cyclomatic 17): LipidEieioMsmsCharacterization.JudgeIfLysope has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1146}}}],"partialFingerprints":{"codehealthFindingId/v1":"fff2bc0ce51ae8cfdeb3d728f9bce7439816fdbb6b7929dde5aa90d6715e3604"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfDagD5 (cyclomatic 17): LipidEieioMsmsCharacterization.JudgeIfDagD5 has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3090}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8137e65eed01dc5f0ee92c4604808c25c71738c18c56e7bad1495efd549ebb0"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfOxpi (cyclomatic 17): LipidMsmsCharacterization.JudgeIfOxpi has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4648}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6ff2413568608059fafa42bf971560c8ea0e3294283ba042dcdce86f81699ba"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPmeoh (cyclomatic 17): LipidMsmsCharacterization.JudgeIfPmeoh has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6806}}}],"partialFingerprints":{"codehealthFindingId/v1":"afd8c1fdd9f08da8e2b752efb4cc393a03f36483baa49e3c87852a2b7f04ed15"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfGm3 (cyclomatic 17): LipidMsmsCharacterization.JudgeIfGm3 has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11577}}}],"partialFingerprints":{"codehealthFindingId/v1":"3764154f521c8f0ef325b0ac958774d389dc1841e7db4b799670dd7964bf2890"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfGM1 (cyclomatic 17): LipidMsmsCharacterization.JudgeIfGM1 has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11848}}}],"partialFingerprints":{"codehealthFindingId/v1":"759294e00c1db026693de2df3991e5de9de86e407d574236f5a8856e989af148"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfGT1b (cyclomatic 17): LipidMsmsCharacterization.JudgeIfGT1b has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfGQ1b) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11916}}}],"partialFingerprints":{"codehealthFindingId/v1":"da933055ba1395781990ec5997c1867c3eb90e62d5661977ed5591f1119d7606"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfGQ1b (cyclomatic 17): LipidMsmsCharacterization.JudgeIfGQ1b has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfGT1b) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11986}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a0f49754a0b68aa19a972445de73f99fda3de6e999005201d06988dcbc5f95c"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfNGcGM3 (cyclomatic 17): LipidMsmsCharacterization.JudgeIfNGcGM3 has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12056}}}],"partialFingerprints":{"codehealthFindingId/v1":"cac2be6b5f713a0c8d04cb6366798eedc94c469767246f5918342f2d23a39c6d"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfFahfamideglyser (cyclomatic 17): LipidMsmsCharacterization.JudgeIfFahfamideglyser has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13084}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a6d82965623177e952a32223bd1f47a2993462962651609e98bd7474606d123"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfMonoMethylPE (cyclomatic 17): LipidMsmsCharacterization.JudgeIfMonoMethylPE has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfDiMethylPE) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14275}}}],"partialFingerprints":{"codehealthFindingId/v1":"e24f3ee8f403e0b426b719fd69d195837281e4bb671fa07d5c07863b57b3a932"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfDiMethylPE (cyclomatic 17): LipidMsmsCharacterization.JudgeIfDiMethylPE has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfMonoMethylPE) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14376}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d77ec70c7cd73374be6431454e8e44d7566c668133867918320c7f033557c79"}},{"ruleId":"D1","level":"warning","message":{"text":"Omega3nChainGenerator.GenerateDoubleBondsForSphingosine (cyclomatic 17): Omega3nChainGenerator.GenerateDoubleBondsForSphingosine has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Omega3nChainGenerator.vb"},"region":{"startLine":203}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ede6854be7554e84c621cd8a34a6dc28713066320163a25906fff9c4ad51d2b"}},{"ruleId":"D1","level":"warning","message":{"text":"SpectrumPeakGenerator.GetSphingoDoubleBondSpectrum (cyclomatic 17): SpectrumPeakGenerator.GetSphingoDoubleBondSpectrum has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumPeakGenerator.vb"},"region":{"startLine":211}}}],"partialFingerprints":{"codehealthFindingId/v1":"79a3218941c89034b96b9bbb6f05ab1391f8cc7fd685bffcdf7af8ea6a91185b"}},{"ruleId":"D1","level":"warning","message":{"text":"IsotopeCalculator.getAllIsotopeElementPropertyForNineIsotopomerElement (cyclomatic 17): IsotopeCalculator.getAllIsotopeElementPropertyForNineIsotopomerElement has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":552}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc60e58f9851746bacd99606aa2555d070dcd64b1eb7c9a5b2291415be1958fd"}},{"ruleId":"D1","level":"warning","message":{"text":"GlycosylNameSolver.SplitByTopLevelStack (cyclomatic 17): GlycosylNameSolver.SplitByTopLevelStack has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/NaturalProduct/GlycosylNameSolver.vb"},"region":{"startLine":280}}}],"partialFingerprints":{"codehealthFindingId/v1":"06a420877eeda38424a12f450a9183356afed323441001127d87fbcd86599034"}},{"ruleId":"D1","level":"warning","message":{"text":"MetaData.EqualsAny (cyclomatic 17): MetaData.EqualsAny has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/lipidMAPS/SDF.vb"},"region":{"startLine":151}}}],"partialFingerprints":{"codehealthFindingId/v1":"281bf0eaf1d7dd2d5b56a609f6928efc2dc4ded67c60b6b1ff02d0c0b414f531"}},{"ruleId":"D1","level":"warning","message":{"text":"SequenceToSpec.GetSpectrumPeaksByECD (cyclomatic 17): SequenceToSpec.GetSpectrumPeaksByECD has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/SequenceToSpec.vb"},"region":{"startLine":397}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9c02472d2ad0c5081aeb2b65725bc2e678d919152224a9118ea3a1a8d4c127a"}},{"ruleId":"D1","level":"warning","message":{"text":"FragmentAssigner.GetRefinedPeaklist (cyclomatic 17): FragmentAssigner.GetRefinedPeaklist has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FragmentAssigner.vb"},"region":{"startLine":457}}}],"partialFingerprints":{"codehealthFindingId/v1":"760329f6eaa96422a509828a6f7228c07a0f146d173e8cb1c8b1a0c3a8b41408"}},{"ruleId":"D1","level":"warning","message":{"text":"MissingValueImputation.ImputeKNN (cyclomatic 17): MissingValueImputation.ImputeKNN has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":310}}}],"partialFingerprints":{"codehealthFindingId/v1":"385fefd60a01f1d37fb06eb10b357f7a2ad4bae2bda1e3251a5a41f4fa6face7"}},{"ruleId":"D1","level":"warning","message":{"text":"WiffScanFileReader.loadScan (cyclomatic 17): WiffScanFileReader.loadScan has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/sciexWiffReader/WiffFileReader/WiffScanFileReader.vb"},"region":{"startLine":277}}}],"partialFingerprints":{"codehealthFindingId/v1":"88589f740ceb1f5aa0914b036376c7b13c8a9a396b9c51e25caab54316ff14ee"}},{"ruleId":"D1","level":"warning","message":{"text":"RamanProcessingPipeline.Process (cyclomatic 17): RamanProcessingPipeline.Process has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":2486}}}],"partialFingerprints":{"codehealthFindingId/v1":"22a12762ecc773caddb6a69e66dac123bdf7a43696b680e3ffd16c2cd681ce14"}},{"ruleId":"D1","level":"warning","message":{"text":"Massbank.lipidnameMapping (cyclomatic 16): Massbank.lipidnameMapping has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/Massbank.vb"},"region":{"startLine":883}}}],"partialFingerprints":{"codehealthFindingId/v1":"74557046cfd515b61ac92af70c659286ba53717e03adbc3f81cc7ab10790e173"}},{"ruleId":"D1","level":"warning","message":{"text":"FastSeekIndex.LoadIndex_mzXML (cyclomatic 16): FastSeekIndex.LoadIndex_mzXML has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/FastSeekIndex.vb"},"region":{"startLine":192}}}],"partialFingerprints":{"codehealthFindingId/v1":"021c8391040e2a624cc1e1f59231a754dbbe70d1b88e246ec06a65fab655f703"}},{"ruleId":"D1","level":"warning","message":{"text":"Converter.LoadScanStream (cyclomatic 16): Converter.LoadScanStream has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/Converter.vb"},"region":{"startLine":207}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c5bb8c238eafee55932b31722961fdd68835383709d53228e73c6496bd91d28"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidomicsConverter.getTotalChainString (cyclomatic 16): LipidomicsConverter.getTotalChainString has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This is NOT this file\u0027s highest cyclomatic complexity: LipidomicsConverter.ConvertMsdialClassDefinitionToSuperClassVS2 (cyclomatic 237) is higher and carries no row of its own \u2014 it was excluded as a flat dispatcher (a long switch/match over independent cases: many branches, almost no nesting), which this dimension does not treat as a refactor obligation. It is named here so the ranking you see in this file is not mistaken for the whole of it; the excluded method is counted neither in this dimension\u0027s figures nor in its score."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb"},"region":{"startLine":2833}}}],"partialFingerprints":{"codehealthFindingId/v1":"733bd8b905456301e5ae2b7319f894c8da0740ef3cff67a7070825d2921f8e88"}},{"ruleId":"D1","level":"warning","message":{"text":"MsScanMatching.GetLipidomicsMatchedPeaksScores (cyclomatic 16): MsScanMatching.GetLipidomicsMatchedPeaksScores has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This is NOT this file\u0027s highest cyclomatic complexity: MsScanMatching.GetEieioBasedLipidMoleculeAnnotationResult (cyclomatic 56) is higher and carries no row of its own \u2014 it was excluded as a flat dispatcher (a long switch/match over independent cases: many branches, almost no nesting), which this dimension does not treat as a refactor obligation. It is named here so the ranking you see in this file is not mistaken for the whole of it; the excluded method is counted neither in this dimension\u0027s figures nor in its score."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":1551}}}],"partialFingerprints":{"codehealthFindingId/v1":"30a97a528edbfe095fdf5daaeb36c46d94206301a1574184abf139ddb138b94a"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylglycerolD5 (cyclomatic 16): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylglycerolD5 has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2392}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9bed16255725ffb1f0e5e41025e7f5ceb5a07730eaad02e8077d75a359ceba2"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfLysopeD5 (cyclomatic 16): LipidEieioMsmsCharacterization.JudgeIfLysopeD5 has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2913}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4e01881a6ccd7d090c15115034f2a9e0aa8056aca9715aec1e077b123502035"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfCeramidensD7 (cyclomatic 16): LipidEieioMsmsCharacterization.JudgeIfCeramidensD7 has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3409}}}],"partialFingerprints":{"codehealthFindingId/v1":"20bca630f6580a1ae9bb498bcc6b7fc9a48a870725cd9a848bc5c8bf00aaeb5d"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylThreonine (cyclomatic 16): LipidMsmsCharacterization.JudgeIfPhosphatidylThreonine has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfSqdg) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2288}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf4423dcb5ca8688218da9fa4ff7e2eaa9a3954bdf419058193f3df428d70bd6"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfSphingomyelinPhyto (cyclomatic 16): LipidMsmsCharacterization.JudgeIfSphingomyelinPhyto has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfEtherlysopc) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3089}}}],"partialFingerprints":{"codehealthFindingId/v1":"bdf98da24e3722cdc49027babaf7ef3fcfda5ae0357874eb27e59a0051c52622"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAcylcarnitine (cyclomatic 16): LipidMsmsCharacterization.JudgeIfAcylcarnitine has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3287}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ac1f9717e6b1351292a32b93d2d7d272f7b30a81aa0a704854e1d456b5337f2"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherlysopc (cyclomatic 16): LipidMsmsCharacterization.JudgeIfEtherlysopc has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfSphingomyelinPhyto) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4194}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1478739ae1f814642c77d96867c0dccc87374407ee2a5ea674133c48974d0e1"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherlysope (cyclomatic 16): LipidMsmsCharacterization.JudgeIfEtherlysope has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4243}}}],"partialFingerprints":{"codehealthFindingId/v1":"05a2b659cb32e4382567463cc346b6975bf5d807d5a10f4f379440d42501417b"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfOxps (cyclomatic 16): LipidMsmsCharacterization.JudgeIfOxps has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4761}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c97991a9cd214bc85ac4881c0acee1d6bb738b82e76bcfc3f5fb592c0410a87"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfDgmg (cyclomatic 16): LipidMsmsCharacterization.JudgeIfDgmg has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5347}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d226a5755d02b87a66226974d4cd4c8423245a8b8ce378f2d9809a081456a1f"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfSqdg (cyclomatic 16): LipidMsmsCharacterization.JudgeIfSqdg has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylThreonine) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6596}}}],"partialFingerprints":{"codehealthFindingId/v1":"9cd5e4637c5f04cd73d1aee94fcf361c96d7340325a7cb301ba37d65e0ace213"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPetoh (cyclomatic 16): LipidMsmsCharacterization.JudgeIfPetoh has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPbtoh) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6709}}}],"partialFingerprints":{"codehealthFindingId/v1":"cedb31fe9f733d29081e324e2b245b34c448f9fa6a9daf8eda72d5c7903d5fb4"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPbtoh (cyclomatic 16): LipidMsmsCharacterization.JudgeIfPbtoh has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPetoh) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6906}}}],"partialFingerprints":{"codehealthFindingId/v1":"4bf25d3db75363ed8b12fe228df6a7543d1d0504a7f4e08f06871a2f18350627"}},{"ruleId":"D1","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfFahfa (cyclomatic 16): LipidMsmsCharacterization.JudgeIfFahfa has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7814}}}],"partialFingerprints":{"codehealthFindingId/v1":"e631354810dcbf4b130c76c9a56bea6164b6030349b2927202f9b9c0d76cfee6"}},{"ruleId":"D1","level":"warning","message":{"text":"IsotopeCalculator.getNominalIsotopeElementPropertyForSixIsotopomerElement (cyclomatic 16): IsotopeCalculator.getNominalIsotopeElementPropertyForSixIsotopomerElement has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":2029}}}],"partialFingerprints":{"codehealthFindingId/v1":"08e6b155b8755c9fe33ce6048f7756a9100fd4ba558915738ff062d190fc900a"}},{"ruleId":"D1","level":"warning","message":{"text":"XrefSchema.PullCollection (cyclomatic 16): XrefSchema.PullCollection has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Metabolite/CrossReference/XrefSchema.vb"},"region":{"startLine":138}}}],"partialFingerprints":{"codehealthFindingId/v1":"dd2dcfb3d4e89e08785bfc0cb123b977cbcb950d86779f2d7b714e6470d9850d"}},{"ruleId":"D1","level":"warning","message":{"text":"FormulaStringParcer.TokenizeFormulaCharacter (cyclomatic 16): FormulaStringParcer.TokenizeFormulaCharacter has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":287}}}],"partialFingerprints":{"codehealthFindingId/v1":"0455f786b365ec0d96498b1c75f4b278273c6b1205f3f13d523945a364a2fe7e"}},{"ruleId":"D1","level":"warning","message":{"text":"DirectMatch.DirectMatchAlignment (cyclomatic 16): DirectMatch.DirectMatchAlignment has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/PeakAlignment/Algorithm/DirectMatch.vb"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"07f92329e4675645b223b29b9115c650bb4fa4d6ea8ae65dc1e20b2c3b8bce3f"}},{"ruleId":"D1","level":"warning","message":{"text":"MathHelpers.MatrixInverse (cyclomatic 16): MathHelpers.MatrixInverse has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MathHelpers.vb"},"region":{"startLine":342}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb1ea7db6157a86bdbacb68f772179155788a903a99719a2299550328cf3b214"}},{"ruleId":"D1","level":"warning","message":{"text":"MissingValueImputation.ImputeQRILC (cyclomatic 16): MissingValueImputation.ImputeQRILC has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":529}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a2356a5c5a9fcbbc896fccba20a172928fc630d31a73b807000516a99675dc6"}},{"ruleId":"D1","level":"warning","message":{"text":"StandardCurveWorker.Regression (cyclomatic 16): StandardCurveWorker.Regression has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function, or replace a long branch ladder over a single value with a data-driven lookup or dispatch table."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/MRM/QuantitativeAnalysis/StandardCurveWorker.vb"},"region":{"startLine":124}}}],"partialFingerprints":{"codehealthFindingId/v1":"f564f2bad6b002fea9893d0ccb4fc719411a404f87b961cc5dfca7812a470d95"}},{"ruleId":"D2","level":"warning","message":{"text":"LipoqualityRest.getLqUrl (cognitive 356): LipoqualityRest.getLqUrl has cognitive complexity 356 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityRest.vb"},"region":{"startLine":93}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a9988281673231764df215de6204674d94c22997a961601911d2196109bbbc3"}},{"ruleId":"D2","level":"warning","message":{"text":"FormulaGenerator.getFormulaResults (cognitive 318): FormulaGenerator.getFormulaResults has cognitive complexity 318 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaGenerator.vb"},"region":{"startLine":326}}}],"partialFingerprints":{"codehealthFindingId/v1":"7184b5e2598c0446ff3e76a75762c14c5aca90004b290f71cacf969a104bdfc1"}},{"ruleId":"D2","level":"warning","message":{"text":"FragmentAssigner.getValenceCheckedFragmentFormulaList (cognitive 233): FragmentAssigner.getValenceCheckedFragmentFormulaList has cognitive complexity 233 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FragmentAssigner.vb"},"region":{"startLine":602}}}],"partialFingerprints":{"codehealthFindingId/v1":"e18b04d9f3a4d03b9342be36db32d5fe2897c36ee2ef539c8f13dd3a386ee5a4"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCardiolipin (cognitive 219): LipidMsmsCharacterization.JudgeIfCardiolipin has cognitive complexity 219 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7147}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a3dbbdb81ced173a42878d03635fb256f7a34536b5109e8f1794ae9e8cc37e6"}},{"ruleId":"D2","level":"warning","message":{"text":"IsotopeCalculator.getNominalIsotopeElementPropertyForTenIsotopomerElement (cognitive 144): IsotopeCalculator.getNominalIsotopeElementPropertyForTenIsotopomerElement has cognitive complexity 144 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1283}}}],"partialFingerprints":{"codehealthFindingId/v1":"c8493a6d40f7c452b571ab55af65f9f94da480072b167675ea062da3d49fab27"}},{"ruleId":"D2","level":"warning","message":{"text":"SpectrumHandler.EstimateIsotopes (cognitive 141): SpectrumHandler.EstimateIsotopes has cognitive complexity 141 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/SpectrumHandler.vb"},"region":{"startLine":259}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee54a41cdb6ae74d1d9275d963462a7b3ca9ed06ad5dc05aa9cba29dd39a8c4d"}},{"ruleId":"D2","level":"warning","message":{"text":"FormulaGenerator.getFormulaSearchResults (cognitive 139): FormulaGenerator.getFormulaSearchResults has cognitive complexity 139 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaGenerator.vb"},"region":{"startLine":825}}}],"partialFingerprints":{"codehealthFindingId/v1":"f91aacf4b624a6590fef8dbbfd7422a6e610a7ba08585f952975bc98dad64e77"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfHexceramideeos (cognitive 119): LipidMsmsCharacterization.JudgeIfHexceramideeos has cognitive complexity 119 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10557}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba7f39a132d3d3d9808b993e01b6e0e6566ec4946318bce6af4df7a5a60af81b"}},{"ruleId":"D2","level":"warning","message":{"text":"IsotopeCalculator.getNominalIsotopeElementPropertyForNineIsotopomerElement (cognitive 116): IsotopeCalculator.getNominalIsotopeElementPropertyForNineIsotopomerElement has cognitive complexity 116 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1504}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2be5f944a87f07dfbf147606e99aee910574130eb157719233c5d4ad566c8a0"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfHexceramideo (cognitive 111): LipidMsmsCharacterization.JudgeIfHexceramideo has cognitive complexity 111 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8546}}}],"partialFingerprints":{"codehealthFindingId/v1":"32e64355ee3457aee267a972c6659772a50d8edd1a84aa11eca8aafa278172cb"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramideeos (cognitive 109): LipidMsmsCharacterization.JudgeIfCeramideeos has cognitive complexity 109 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10243}}}],"partialFingerprints":{"codehealthFindingId/v1":"3048c9cbf4784475838b75e352ab1411c8b4def150d5647d7a14f33fe434c845"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramidens (cognitive 103): LipidMsmsCharacterization.JudgeIfCeramidens has cognitive complexity 103 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfCeramidensD7) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7943}}}],"partialFingerprints":{"codehealthFindingId/v1":"1130fa9bcc99b486c5c6c6b4e08e267a4ab4b3ceef324d08b4595ed4636d7718"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramidensD7 (cognitive 103): LipidMsmsCharacterization.JudgeIfCeramidensD7 has cognitive complexity 103 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfCeramidens) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":16340}}}],"partialFingerprints":{"codehealthFindingId/v1":"25515b01a708be318ff309f7bd81fc97bf3a5b4e2e450f8278dfbc4ee51da892"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramideo (cognitive 102): LipidMsmsCharacterization.JudgeIfCeramideo has cognitive complexity 102 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8882}}}],"partialFingerprints":{"codehealthFindingId/v1":"6be89cf0870e28c0687413bbf7fda959e2025d509720cb50dbc30db1486e9c26"}},{"ruleId":"D2","level":"warning","message":{"text":"centWave.DetectByCentWave (cognitive 101): centWave.DetectByCentWave has cognitive complexity 101 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/centWave/centWave.vb"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3dbd7bcd441f9892d135ffb6efe9970beb4fa7474e1aec8eb685ff08da81a28"}},{"ruleId":"D2","level":"warning","message":{"text":"MathHelpers.NIPALSWithMissing (cognitive 100): MathHelpers.NIPALSWithMissing has cognitive complexity 100 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MathHelpers.vb"},"region":{"startLine":909}}}],"partialFingerprints":{"codehealthFindingId/v1":"18807847054eadcaedeafdd73d6ae04c1338d82b23e9b3f66c38b03f64c3f6a9"}},{"ruleId":"D2","level":"warning","message":{"text":"IsotopeCalculator.getAllIsotopeElementPropertyForTenIsotopomerElement (cognitive 99): IsotopeCalculator.getAllIsotopeElementPropertyForTenIsotopomerElement has cognitive complexity 99 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":384}}}],"partialFingerprints":{"codehealthFindingId/v1":"17633208dbda9fec545fa5fd64a7daa07a6ba4ad63c1f083d146ad6eed58391e"}},{"ruleId":"D2","level":"warning","message":{"text":"MathHelpers.PCA (cognitive 99): MathHelpers.PCA has cognitive complexity 99 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MathHelpers.vb"},"region":{"startLine":755}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d08d69a2a62331bbeda8e783ddc2a43aeff8678bcb07f7a2371900eca3d2847"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEthermgdg (cognitive 96): LipidMsmsCharacterization.JudgeIfEthermgdg has cognitive complexity 96 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5163}}}],"partialFingerprints":{"codehealthFindingId/v1":"b562347307eac6e78b21b55fdf3ac1f25f6fb23d9b840a358a90104ecbbe6d39"}},{"ruleId":"D2","level":"warning","message":{"text":"GolotvinWilliamsBaselineCorrector.calculateBaselineModel (cognitive 94): GolotvinWilliamsBaselineCorrector.calculateBaselineModel has cognitive complexity 94 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/baseline/GolotvinWilliamsBaselineCorrector.vb"},"region":{"startLine":114}}}],"partialFingerprints":{"codehealthFindingId/v1":"0709db747beacc119b626c5a509763d1bb450e4f881181d0e43b2e2b1fa8b3dc"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAcylsm (cognitive 94): LipidMsmsCharacterization.JudgeIfAcylsm has cognitive complexity 94 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10855}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f62d679f1e74b1e53b02801d5f53754e40db092ccf3247111d1e111a828137c"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherdgdg (cognitive 92): LipidMsmsCharacterization.JudgeIfEtherdgdg has cognitive complexity 92 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5442}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e94fc66c3cf2d97140517c7aa89557abdc68e0b766ffb970dbf4b0448735370"}},{"ruleId":"D2","level":"warning","message":{"text":"IsotopeCalculator.getNominalIsotopeElementPropertyForEightIsotopomerElement (cognitive 91): IsotopeCalculator.getNominalIsotopeElementPropertyForEightIsotopomerElement has cognitive complexity 91 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1701}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa6fd13ce1b5f450cf3a3a9a8705b1a4d5888dc719a0b37a4ac4f528975525c5"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfTriacylglycerol (cognitive 89): LipidMsmsCharacterization.JudgeIfTriacylglycerol has cognitive complexity 89 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3126}}}],"partialFingerprints":{"codehealthFindingId/v1":"394f3808844ccd4a76144bd87435f9ccce6479e1afa3b04b6be2884ac1296b02"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylcholineD5 (cognitive 89): LipidMsmsCharacterization.JudgeIfPhosphatidylcholineD5 has cognitive complexity 89 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15067}}}],"partialFingerprints":{"codehealthFindingId/v1":"950c920d6862f17b70040dfe639dd645f7b6fe2ff74c564ed853fdf4d9c8cf1a"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfHexceramidens (cognitive 88): LipidMsmsCharacterization.JudgeIfHexceramidens has cognitive complexity 88 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8374}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d3615baa19bcdeb402ef863183e75635c96f26f93a6071fc6989002e665b037"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAcylhexcer (cognitive 88): LipidMsmsCharacterization.JudgeIfAcylhexcer has cognitive complexity 88 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11064}}}],"partialFingerprints":{"codehealthFindingId/v1":"74b1f9644c3c3720a88993989d69cb0d925a6f1a94c26b357d7c56e7d927c4e3"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfTriacylglycerolD5 (cognitive 88): LipidMsmsCharacterization.JudgeIfTriacylglycerolD5 has cognitive complexity 88 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":16086}}}],"partialFingerprints":{"codehealthFindingId/v1":"db687bd9882a2fbf30fc7a5b950714f6298d5b7f8e2f304c5b62f5297b381303"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfHemiismonoacylglycerophosphate (cognitive 87): LipidMsmsCharacterization.JudgeIfHemiismonoacylglycerophosphate has cognitive complexity 87 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7003}}}],"partialFingerprints":{"codehealthFindingId/v1":"073be60245174877a587146a8576982d64116c71941bfa8eface9376e6ffedb9"}},{"ruleId":"D2","level":"warning","message":{"text":"PeakAnalyzer.MultiPeakFit (cognitive 87): PeakAnalyzer.MultiPeakFit has cognitive complexity 87 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":1568}}}],"partialFingerprints":{"codehealthFindingId/v1":"06684f45bf60a4a2ac8573d9b15df9e37c5e8f8355bce4c1c7b8c97c870a1a33"}},{"ruleId":"D2","level":"warning","message":{"text":"Composition.FindCompositions (cognitive 85): Composition.FindCompositions has cognitive complexity 85 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/OligonucleotideComposition/Oligonucleotide_Composition_from_Mass_Calculator_v2.vb"},"region":{"startLine":125}}}],"partialFingerprints":{"codehealthFindingId/v1":"d96e7cffe4f3cb9554e05fa5cd4fc611a303fe125768eed03647831d97ec4a7d"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramidends (cognitive 84): LipidMsmsCharacterization.JudgeIfCeramidends has cognitive complexity 84 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8193}}}],"partialFingerprints":{"codehealthFindingId/v1":"f41be68b442d3e4d691f9269a52cf5f297c6cf8d3cd7f421ecc3873dfeb448a6"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfHexceramideap (cognitive 83): LipidMsmsCharacterization.JudgeIfHexceramideap has cognitive complexity 83 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9518}}}],"partialFingerprints":{"codehealthFindingId/v1":"af5affa57855427a7f93df74c488b198405242dd8ca7c4014c8d4871397df523"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAshexcer (cognitive 83): LipidMsmsCharacterization.JudgeIfAshexcer has cognitive complexity 83 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11270}}}],"partialFingerprints":{"codehealthFindingId/v1":"72a4ab1d195e0a5fdcbdb22929e9656c8356b3fb776e6eb68d0284830431e6e8"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfBetaMethylPhosphatidylcholine (cognitive 82): LipidMsmsCharacterization.JudgeIfBetaMethylPhosphatidylcholine has cognitive complexity 82 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":16542}}}],"partialFingerprints":{"codehealthFindingId/v1":"c1212e63949b1ff207d1ae86a925ba6358e5bb6cbe40e84e808ecbc40abdd4be"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylcholine (cognitive 80): LipidMsmsCharacterization.JudgeIfPhosphatidylcholine has cognitive complexity 80 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":1789}}}],"partialFingerprints":{"codehealthFindingId/v1":"e7e472461f6287479ba73ba1baa820001bf083b445d4a8421937fb79906f0641"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramideap (cognitive 80): LipidMsmsCharacterization.JudgeIfCeramideap has cognitive complexity 80 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9355}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ab34ad66b306623028e8442a4fe3dd0fc22d9cd8014d483275e8bafb30a1d57"}},{"ruleId":"D2","level":"warning","message":{"text":"IsotopeCalculator.getAllIsotopeElementPropertyForNineIsotopomerElement (cognitive 80): IsotopeCalculator.getAllIsotopeElementPropertyForNineIsotopomerElement has cognitive complexity 80 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":552}}}],"partialFingerprints":{"codehealthFindingId/v1":"8935b04fbb565ada8e88fea2d39890829d77c4361d0a9684d7a112dc1973470c"}},{"ruleId":"D2","level":"warning","message":{"text":"DensityGroup.DensityGroupAlignment (cognitive 79): DensityGroup.DensityGroupAlignment has cognitive complexity 79 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/PeakAlignment/Algorithm/DensityGroup.vb"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"42c36d223556ff0434cb3af899b37304c5104019fc29de4a05a6d8d02c755e49"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtheroxpc (cognitive 78): LipidMsmsCharacterization.JudgeIfEtheroxpc has cognitive complexity 78 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3995}}}],"partialFingerprints":{"codehealthFindingId/v1":"f0bb48df84d323a3e619dd4505845082ee4a6475fe3e718abf5648b3d16b5f4e"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfSulfonolipid (cognitive 78): LipidMsmsCharacterization.JudgeIfSulfonolipid has cognitive complexity 78 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13210}}}],"partialFingerprints":{"codehealthFindingId/v1":"442d36c5658bc8aa68799f6d8837d31a7cdd4182f0dbf4dfd6e5b0bf513a99fe"}},{"ruleId":"D2","level":"warning","message":{"text":"BatchCorrection.CorrectComBat (cognitive 78): BatchCorrection.CorrectComBat has cognitive complexity 78 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/BatchCorrection.vb"},"region":{"startLine":401}}}],"partialFingerprints":{"codehealthFindingId/v1":"871dbefc713d6d13e67df2535bba3996e82ec0a6bebb39fdb59665689f66e8ce"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylcholine (cognitive 77): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylcholine has cognitive complexity 77 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfPhosphatidylcholineD5) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":230}}}],"partialFingerprints":{"codehealthFindingId/v1":"8dd41ae56bbecbaeca572a3dd183bd9ed72b9008bc1c7207396a2c4701d4f241"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylcholineD5 (cognitive 77): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylcholineD5 has cognitive complexity 77 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfPhosphatidylcholine) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2052}}}],"partialFingerprints":{"codehealthFindingId/v1":"1734131d1bffbbe5c14ff58c9f550a592d80effc3301bb2c9053aaba58c422fa"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEthertag (cognitive 77): LipidMsmsCharacterization.JudgeIfEthertag has cognitive complexity 77 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5842}}}],"partialFingerprints":{"codehealthFindingId/v1":"3082fd1ed776895ee3d581cdf2afb1621063af0fee80920bcb00c70cc1c0574f"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramidenp (cognitive 75): LipidMsmsCharacterization.JudgeIfCeramidenp has cognitive complexity 75 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10073}}}],"partialFingerprints":{"codehealthFindingId/v1":"863a8cd8479df56a83e92c1a41ee4f669187aee0bb6247a278c3ae7351da57e9"}},{"ruleId":"D2","level":"warning","message":{"text":"MS_Peak_ID.MakeTheoryList (cognitive 75): MS_Peak_ID.MakeTheoryList has cognitive complexity 75 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/MS_Peak/Oligonucleotide_MS_Peak_ID_Given_Sequence_v8.vb"},"region":{"startLine":121}}}],"partialFingerprints":{"codehealthFindingId/v1":"f3e66cb8d3fc76922df8afa2dc179801de4723facc6d112bf215d5bdcb601020"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfSphingomyelin (cognitive 72): LipidMsmsCharacterization.JudgeIfSphingomyelin has cognitive complexity 72 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfSphingomyelinD9) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2924}}}],"partialFingerprints":{"codehealthFindingId/v1":"1453272853563412c7cb147e7df85b826344c12336a0414894762ea1861f46e1"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfSphingomyelinD9 (cognitive 72): LipidMsmsCharacterization.JudgeIfSphingomyelinD9 has cognitive complexity 72 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfSphingomyelin) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":16232}}}],"partialFingerprints":{"codehealthFindingId/v1":"4eb81ddd0fc2fb797a63dfcdcab0881793f319cb1d98d7d11ccd39ef7cf452fc"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylethanolamine (cognitive 71): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylethanolamine has cognitive complexity 71 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":414}}}],"partialFingerprints":{"codehealthFindingId/v1":"c684aaddd3d71f0b916a71dfe3e195f60bea275b8349ea9bc15208c46488a09c"}},{"ruleId":"D2","level":"warning","message":{"text":"DimensionalityReducer.PCA (cognitive 71): DimensionalityReducer.PCA has cognitive complexity 71 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":1899}}}],"partialFingerprints":{"codehealthFindingId/v1":"c860a994ebb6e27ba6835dc0511d4e840ff8c4767aa721649d2808252906df56"}},{"ruleId":"D2","level":"warning","message":{"text":"Scanner.WalkChar (cognitive 70): Scanner.WalkChar has cognitive complexity 70 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/Language/Scanner.vb"},"region":{"startLine":196}}}],"partialFingerprints":{"codehealthFindingId/v1":"5355adf8b4d20ec1d41230573495589cacf8baaa0efa4066193d3de119129ad6"}},{"ruleId":"D2","level":"warning","message":{"text":"AdductIonParser.GetOrganicAdductFormulaAndMass (cognitive 70): AdductIonParser.GetOrganicAdductFormulaAndMass has cognitive complexity 70 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/PrecursorType/AdductIonParser.vb"},"region":{"startLine":317}}}],"partialFingerprints":{"codehealthFindingId/v1":"62cc2ab8dd8e4f40b932206c3201a6651e619facf88c8eb408fc4f501b06e93f"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfDgdg (cognitive 69): LipidMsmsCharacterization.JudgeIfDgdg has cognitive complexity 69 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5016}}}],"partialFingerprints":{"codehealthFindingId/v1":"bbddc6fd8f0f46f3adae8b19627f2411acf6364b6cbda528bc58404a89280082"}},{"ruleId":"D2","level":"warning","message":{"text":"IsotopeCalculator.getNominalIsotopeElementPropertyForSevenIsotopomerElement (cognitive 69): IsotopeCalculator.getNominalIsotopeElementPropertyForSevenIsotopomerElement has cognitive complexity 69 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1876}}}],"partialFingerprints":{"codehealthFindingId/v1":"6d05deac225765a795140dba9311cb8532b09f7e1bc504a5f51ced97ea33d020"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylinositol (cognitive 68): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylinositol has cognitive complexity 68 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfPhosphatidylinositolD5) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":892}}}],"partialFingerprints":{"codehealthFindingId/v1":"650007b05b2472d35e5a8bb7d0ba0566fcca9c6b6f278c3337b9adab20b72c50"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylinositolD5 (cognitive 68): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylinositolD5 has cognitive complexity 68 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfPhosphatidylinositol) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2659}}}],"partialFingerprints":{"codehealthFindingId/v1":"34c95a591258405b3c30d36967218874341225df51ac3011becc0be72c7caf86"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAcylglcadg (cognitive 68): LipidMsmsCharacterization.JudgeIfAcylglcadg has cognitive complexity 68 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6468}}}],"partialFingerprints":{"codehealthFindingId/v1":"43a910778461ed6f29e8810d2dae753d88712a2ffc860f315d6e5f28c43357f0"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfFahfaTriacylglycerol (cognitive 68): LipidMsmsCharacterization.JudgeIfFahfaTriacylglycerol has cognitive complexity 68 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14651}}}],"partialFingerprints":{"codehealthFindingId/v1":"699682aedb8c005e82a9d6431afef4a9b40287180ef5212b9c894659fe6ec4ac"}},{"ruleId":"D2","level":"warning","message":{"text":"MissingValueImputation.ImputePCA (cognitive 68): MissingValueImputation.ImputePCA has cognitive complexity 68 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":422}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e5d05d2dc98a26d3c1c51720c1c9f90bdef6982146388c014e08b2b4ea7766c"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfFahfamidegly (cognitive 67): LipidMsmsCharacterization.JudgeIfFahfamidegly has cognitive complexity 67 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12961}}}],"partialFingerprints":{"codehealthFindingId/v1":"70ead5909f954404b103af2b577684f5033459bb8a6f753a9715a12ebaf53adc"}},{"ruleId":"D2","level":"warning","message":{"text":"PeakAssign.PlotInternal (cognitive 66): PeakAssign.PlotInternal has cognitive complexity 66 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/PeakAssign.vb"},"region":{"startLine":185}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2f38a84e6f5cf2ab91d70bd28fb3400a171e60040b8745e4e85b1832d2d5b6e"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfMgdg (cognitive 66): LipidMsmsCharacterization.JudgeIfMgdg has cognitive complexity 66 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4873}}}],"partialFingerprints":{"codehealthFindingId/v1":"192f9ac2c025bfd1a7f5e0005fde36bed9319a824efbc0999e84cbc0890bea64"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfHexceramidends (cognitive 66): LipidMsmsCharacterization.JudgeIfHexceramidends has cognitive complexity 66 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8718}}}],"partialFingerprints":{"codehealthFindingId/v1":"0019b2c5ccf69c0100b666727ad2b0627453adcec33608a1c6e7543c5968246e"}},{"ruleId":"D2","level":"warning","message":{"text":"MS_Peak_ID.GetMatches (cognitive 66): MS_Peak_ID.GetMatches has cognitive complexity 66 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/MS_Peak/Oligonucleotide_MS_Peak_ID_Given_Sequence_v8.vb"},"region":{"startLine":455}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c9b49716dca436d1d1f257d0eb56859d52c90bf68f4f44773f87ff74ab022b4"}},{"ruleId":"D2","level":"warning","message":{"text":"MsScanMatching.GetWeightedDotProduct (cognitive 65): MsScanMatching.GetWeightedDotProduct has cognitive complexity 65 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":902}}}],"partialFingerprints":{"codehealthFindingId/v1":"b77b53597f0c5af9b37739b461362344466241021106617f59813b57c0d3d2dc"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylethanolamineD5 (cognitive 64): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylethanolamineD5 has cognitive complexity 64 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2235}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9e14d9e26b13a5e3f6c76d4bdd9d06afe6a1336e5ccd9f328cbf457a03c50c0"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtheroxpe (cognitive 64): LipidMsmsCharacterization.JudgeIfEtheroxpe has cognitive complexity 64 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4094}}}],"partialFingerprints":{"codehealthFindingId/v1":"b21de82fab6f1638751cf96c4ae7932507c32a8ce197e3c80853a05fa2936c82"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfDgts (cognitive 64): LipidMsmsCharacterization.JudgeIfDgts has cognitive complexity 64 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6007}}}],"partialFingerprints":{"codehealthFindingId/v1":"688670a13e310fe5f8a900a433706be39f518e1989b08356ae10e1214946c407"}},{"ruleId":"D2","level":"warning","message":{"text":"IsotopeCalculator.getAllIsotopeElementPropertyForEightIsotopomerElement (cognitive 63): IsotopeCalculator.getAllIsotopeElementPropertyForEightIsotopomerElement has cognitive complexity 63 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":702}}}],"partialFingerprints":{"codehealthFindingId/v1":"f0f7116c3122581f0a8dcd6445a272080021c0861faf6aa61b425b945b62621e"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfOxpe (cognitive 61): LipidMsmsCharacterization.JudgeIfOxpe has cognitive complexity 61 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4410}}}],"partialFingerprints":{"codehealthFindingId/v1":"8de12f22cdfe934c0c11c202e642ce080e2560c19c9729af8d404e5e8fdeb6c9"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramideas (cognitive 61): LipidMsmsCharacterization.JudgeIfCeramideas has cognitive complexity 61 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9692}}}],"partialFingerprints":{"codehealthFindingId/v1":"c04fdd0920139670572b77d3556df88f57dc03112470738c780477fa82ddc6f4"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfShexcer (cognitive 61): LipidMsmsCharacterization.JudgeIfShexcer has cognitive complexity 61 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11440}}}],"partialFingerprints":{"codehealthFindingId/v1":"717daaa969e746bbe0aeb448c4155e91221c69f81c20100d0f1c99d3970f2f8b"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylserine (cognitive 60): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylserine has cognitive complexity 60 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfPhosphatidylserineD5) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":726}}}],"partialFingerprints":{"codehealthFindingId/v1":"84a65f4aa052b3bbdc31d4ee89764ace68a128de7be3e712388cd778025b6fdb"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylserineD5 (cognitive 60): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylserineD5 has cognitive complexity 60 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfPhosphatidylserine) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2492}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae602aaea64f6f6cce060a5c81a93e77a96a03439edea33760dd2e8db0e67576"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylethanolamine (cognitive 60): LipidMsmsCharacterization.JudgeIfPhosphatidylethanolamine has cognitive complexity 60 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylethanolamineD5) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":1989}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ccb6bd47cf1fbbfa1515ac4437ec5268eaf695ebd934b923da22deb62c488aa"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLysope (cognitive 60): LipidMsmsCharacterization.JudgeIfLysope has cognitive complexity 60 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3638}}}],"partialFingerprints":{"codehealthFindingId/v1":"14c23cb0f1292c69a4cb7a9e737f319c8d88551ca057e41f0009469287507103"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherpc (cognitive 60): LipidMsmsCharacterization.JudgeIfEtherpc has cognitive complexity 60 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3737}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3f1efb30719f670b4849507ac260c7a92cd159ec7eb1a77365562c0ee7636cc"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylethanolamineD5 (cognitive 60): LipidMsmsCharacterization.JudgeIfPhosphatidylethanolamineD5 has cognitive complexity 60 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylethanolamine) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15234}}}],"partialFingerprints":{"codehealthFindingId/v1":"163e873c2a0723bd65b0aeb9729a136f5a240f4791f3a2bc1aa82d5aee1d4bd7"}},{"ruleId":"D2","level":"warning","message":{"text":"PeakAnalyzer.SinglePeakFit (cognitive 60): PeakAnalyzer.SinglePeakFit has cognitive complexity 60 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":1412}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a268f47a4573558afb9e57cde40ffc5470b14e818a4ad88d6d2464cdd3b25a8"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLysopc (cognitive 58): LipidMsmsCharacterization.JudgeIfLysopc has cognitive complexity 58 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3535}}}],"partialFingerprints":{"codehealthFindingId/v1":"2bc906d76b523fd378bd209d5de8daa2babd0d1ab386c731ff424c8225ceb171"}},{"ruleId":"D2","level":"warning","message":{"text":"MsScanMatching.GetReverseDotProduct (cognitive 58): MsScanMatching.GetReverseDotProduct has cognitive complexity 58 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":757}}}],"partialFingerprints":{"codehealthFindingId/v1":"08c088bff3780a3ca56716b5096e23fcd1b17f8e9aa40a924f940dfd5d9d8c31"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherpe (cognitive 57): LipidMsmsCharacterization.JudgeIfEtherpe has cognitive complexity 57 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3857}}}],"partialFingerprints":{"codehealthFindingId/v1":"c59954ff94920ec9d25c0e8415670d822c6d18361832b04cc23a0667a25106a9"}},{"ruleId":"D2","level":"warning","message":{"text":"FormulaCalculateUtility.GetFormulaString (cognitive 57): FormulaCalculateUtility.GetFormulaString has cognitive complexity 57 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/FormulaCalculateUtility.vb"},"region":{"startLine":389}}}],"partialFingerprints":{"codehealthFindingId/v1":"8718b98fd65bd2deba2a18ca8081df6b2eff6cc50a4c532ec6fdd920aa6833a9"}},{"ruleId":"D2","level":"warning","message":{"text":"SequenceToSpec.GetSpectrumPeaksByHCD (cognitive 56): SequenceToSpec.GetSpectrumPeaksByHCD has cognitive complexity 56 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/SequenceToSpec.vb"},"region":{"startLine":118}}}],"partialFingerprints":{"codehealthFindingId/v1":"6499ae376851971fba18ce2978cc2c53cd46e00e6d3a63e09f103323930e4b42"}},{"ruleId":"D2","level":"warning","message":{"text":"PeakDetector.DetectByFirstDerivative (cognitive 56): PeakDetector.DetectByFirstDerivative has cognitive complexity 56 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakDetector.vb"},"region":{"startLine":357}}}],"partialFingerprints":{"codehealthFindingId/v1":"beae46f04885a8f8d9cf39c3a2eb036b21f6bbd5507c90840822008af87bfd5a"}},{"ruleId":"D2","level":"warning","message":{"text":"XcaliburRawFileIO.GetScanInfoInternal (cognitive 55): XcaliburRawFileIO.GetScanInfoInternal has cognitive complexity 55 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":1192}}}],"partialFingerprints":{"codehealthFindingId/v1":"612a218fe622c6d67ee4a2a36a0f887530821acf3544012ae2530770e1a182e6"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramideads (cognitive 55): LipidMsmsCharacterization.JudgeIfCeramideads has cognitive complexity 55 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9787}}}],"partialFingerprints":{"codehealthFindingId/v1":"abff19bda229cf7b242972b9309162c0e348b3a21896bbae870863acd6f46bd5"}},{"ruleId":"D2","level":"warning","message":{"text":"FormulaScanner.ScanFormula (cognitive 55): FormulaScanner.ScanFormula has cognitive complexity 55 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/FormulaScanner.vb"},"region":{"startLine":376}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7e02976c94c64fa22ef029d8cb0216da7c478f62a15f50e71fcb8a71e718f72"}},{"ruleId":"D2","level":"warning","message":{"text":"MetaDbXref.searchTable (cognitive 54): MetaDbXref.searchTable has cognitive complexity 54 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/MetaDbXref.vb"},"region":{"startLine":898}}}],"partialFingerprints":{"codehealthFindingId/v1":"7cc7abd617530870135a9d786ebc354d93d0ee8d8113b32eb2b05e213fcb37d7"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfOxpc (cognitive 54): LipidMsmsCharacterization.JudgeIfOxpc has cognitive complexity 54 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4311}}}],"partialFingerprints":{"codehealthFindingId/v1":"8291419edae7a6f74edcd1518599efe8c733a7708f31737aca357e7ffb696274"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLysopcD5 (cognitive 54): LipidMsmsCharacterization.JudgeIfLysopcD5 has cognitive complexity 54 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15717}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b86dee4b388c6446e8d6edd5592895f6ecb01e06cde5c4e577d5393994d8ddb"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAcylcerbds (cognitive 53): LipidMsmsCharacterization.JudgeIfAcylcerbds has cognitive complexity 53 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10985}}}],"partialFingerprints":{"codehealthFindingId/v1":"d95e86a7efb7c7bd5d66c606e7d2dcc840f8a2a5ff228f3babc14f4bcae63c42"}},{"ruleId":"D2","level":"warning","message":{"text":"FormulaStringParcer.setElementNumbers (cognitive 53): FormulaStringParcer.setElementNumbers has cognitive complexity 53 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":474}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d389ec414bae91c481f8d20fef57783b368abb363d3734604be240fe3dc6a6f"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherDAG (cognitive 52): LipidMsmsCharacterization.JudgeIfEtherDAG has cognitive complexity 52 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5392}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b90db306a0a657878d15eee960147ebf59ca5f2febde66eca5bf001cb74e68d"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLysocardiolipin (cognitive 52): LipidMsmsCharacterization.JudgeIfLysocardiolipin has cognitive complexity 52 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7504}}}],"partialFingerprints":{"codehealthFindingId/v1":"a89ce1f3916ef4b5ce2c1b4049a506c2726a4dbfeafe4862b31ade14a132c51f"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramideeods (cognitive 52): LipidMsmsCharacterization.JudgeIfCeramideeods has cognitive complexity 52 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10458}}}],"partialFingerprints":{"codehealthFindingId/v1":"91b2fd86fdf1439cd02e53de55ff46a25bcd9e4529ef6711703e86035ccb463d"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLysopeD5 (cognitive 52): LipidMsmsCharacterization.JudgeIfLysopeD5 has cognitive complexity 52 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15809}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f6176709d17c20dbfedd5e6f254fd78d06f79fec0646ee2c9f5ab7364daec38"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfFahfa (cognitive 51): LipidMsmsCharacterization.JudgeIfFahfa has cognitive complexity 51 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7814}}}],"partialFingerprints":{"codehealthFindingId/v1":"792722fb6e4947a00f5b626c82d6a69f53ca5501b07dca50f11d3048ea97d662"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfNacylphosphatidylserine (cognitive 50): LipidMsmsCharacterization.JudgeIfNacylphosphatidylserine has cognitive complexity 50 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2700}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ddd367890b6fdba4b67bbd3591c7b4a12243a9836d7923ab3d19d8158fda9a8"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramidebs (cognitive 50): LipidMsmsCharacterization.JudgeIfCeramidebs has cognitive complexity 50 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9888}}}],"partialFingerprints":{"codehealthFindingId/v1":"091d24730368d19fb9b1335ba8126ee2aff7124d11e7abef3fde4683fe3c3266"}},{"ruleId":"D2","level":"warning","message":{"text":"IsotopeCalculator.getNominalIsotopeElementPropertyForSixIsotopomerElement (cognitive 50): IsotopeCalculator.getNominalIsotopeElementPropertyForSixIsotopomerElement has cognitive complexity 50 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":2029}}}],"partialFingerprints":{"codehealthFindingId/v1":"6e4448c28d4019fcff9a38bc6cdc152fcf675edf3dc9080a639a1ed7ba338c6f"}},{"ruleId":"D2","level":"warning","message":{"text":"MetaDbXref.cbindMeta (cognitive 49): MetaDbXref.cbindMeta has cognitive complexity 49 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/MetaDbXref.vb"},"region":{"startLine":1049}}}],"partialFingerprints":{"codehealthFindingId/v1":"116972304213488d65a1c7f18ca139ee3fd9b1bb7f3a4210796bc3ef4a4a3964"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfSphingomyelin (cognitive 49): LipidEieioMsmsCharacterization.JudgeIfSphingomyelin has cognitive complexity 49 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfSphingomyelinD9) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1326}}}],"partialFingerprints":{"codehealthFindingId/v1":"72f41bf4b73e0a7e79459338be730230d97100a43face5f26ce457b47aef005f"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfSphingomyelinD9 (cognitive 49): LipidEieioMsmsCharacterization.JudgeIfSphingomyelinD9 has cognitive complexity 49 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfSphingomyelin) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3309}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9f48c8afd9628a69b2011c86a344a4011de742c19f4b59e723dfa5ceebe13f0"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfOxTriacylglycerol (cognitive 49): LipidMsmsCharacterization.JudgeIfOxTriacylglycerol has cognitive complexity 49 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14570}}}],"partialFingerprints":{"codehealthFindingId/v1":"4645fafb19dc9c7396ca1cbc2e519121ec300fcd9d03035da6bbc8e56d60ed74"}},{"ruleId":"D2","level":"warning","message":{"text":"FormulaScanner.Convert2FormulaObjV2 (cognitive 49): FormulaScanner.Convert2FormulaObjV2 has cognitive complexity 49 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/FormulaScanner.vb"},"region":{"startLine":96}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe8f1d554464320c43fccb7f2bf293899247b28c7a82fbc1babd4080dfa2cf24"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPicermide (cognitive 48): LipidMsmsCharacterization.JudgeIfPicermide has cognitive complexity 48 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12459}}}],"partialFingerprints":{"codehealthFindingId/v1":"20aeb6b1a31f231f4440d25da50a0db79055e6ed31d1fa2d2a69b68e7ba5d48a"}},{"ruleId":"D2","level":"warning","message":{"text":"IsotopeCalculator.getAllIsotopeElementPropertyForSevenIsotopomerElement (cognitive 48): IsotopeCalculator.getAllIsotopeElementPropertyForSevenIsotopomerElement has cognitive complexity 48 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":833}}}],"partialFingerprints":{"codehealthFindingId/v1":"60251cf19115a3134f2a9247c3e8c1ff42aeb2a1542b83a90ae9ac9fea5a3cc6"}},{"ruleId":"D2","level":"warning","message":{"text":"Math.RunMaxLFQ (cognitive 48): Math.RunMaxLFQ has cognitive complexity 48 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/MaxLFQ/Math.vb"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d20a91224686b37b41e40d83ece372b3af0606fe73db8ec1aeccda660cb6716"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfEtherpe (cognitive 47): LipidEieioMsmsCharacterization.JudgeIfEtherpe has cognitive complexity 47 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1497}}}],"partialFingerprints":{"codehealthFindingId/v1":"dba90136308c869dfd2aee23a02b68cfef491dcb77e8613a8744abac7ab8a599"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylserine (cognitive 47): LipidMsmsCharacterization.JudgeIfPhosphatidylserine has cognitive complexity 47 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylserineD5) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2151}}}],"partialFingerprints":{"codehealthFindingId/v1":"b99a7c4729492b51d7197f08969f6b5e54c1798231574dc0f15867f035931922"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramidebds (cognitive 47): LipidMsmsCharacterization.JudgeIfCeramidebds has cognitive complexity 47 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9970}}}],"partialFingerprints":{"codehealthFindingId/v1":"6abdcdc7765b3a7c4282af0e36dedb346835d66dc1478f14d58ac17e745fdb95"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfFahfamideglyser (cognitive 47): LipidMsmsCharacterization.JudgeIfFahfamideglyser has cognitive complexity 47 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13084}}}],"partialFingerprints":{"codehealthFindingId/v1":"cb93a18db6f6334a31b8e0c47be3c0279f9723529f653f81051daef3ca9f7b9a"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylserineD5 (cognitive 47): LipidMsmsCharacterization.JudgeIfPhosphatidylserineD5 has cognitive complexity 47 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylserine) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15379}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d19be919bd2e644158568f319092a807e1fd53e214520383fcb5418943c9ca6"}},{"ruleId":"D2","level":"warning","message":{"text":"PeptideCalc.Sequence2FastPeptidesByVariableModifications (cognitive 47): PeptideCalc.Sequence2FastPeptidesByVariableModifications has cognitive complexity 47 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/PeptideCalc.vb"},"region":{"startLine":255}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc4ea8ef1675533285a3f147c4c0a6fd4eaebeec55a3e491cd660a103d16a3c8"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfLysopc (cognitive 46): LipidEieioMsmsCharacterization.JudgeIfLysopc has cognitive complexity 46 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1067}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc40648d8e6c550902c1cbe0a5d60302b6d98f3b61cdcd233c35370d0331d64f"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramideos (cognitive 46): LipidMsmsCharacterization.JudgeIfCeramideos has cognitive complexity 46 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10774}}}],"partialFingerprints":{"codehealthFindingId/v1":"a838e8220d02917cd6193c9004d8c5a4e79becdf64dc169df0368a0c6cd89e5c"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherSmgdg (cognitive 46): LipidMsmsCharacterization.JudgeIfEtherSmgdg has cognitive complexity 46 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14140}}}],"partialFingerprints":{"codehealthFindingId/v1":"584c2df3195f5a19cd0454f9308f69eecbe8a31658251e669b8967a5ce6f7a9d"}},{"ruleId":"D2","level":"warning","message":{"text":"FormulaCalculateUtility.GetFormulaString (cognitive 46): FormulaCalculateUtility.GetFormulaString has cognitive complexity 46 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/FormulaCalculateUtility.vb"},"region":{"startLine":291}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d5cc4c63dcfaa3debd7c6893293ea61ba6b48043e486c71981e65bcfa22d265"}},{"ruleId":"D2","level":"warning","message":{"text":"FormulaStringParcer.IsOrganicFormula (cognitive 46): FormulaStringParcer.IsOrganicFormula has cognitive complexity 46 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":116}}}],"partialFingerprints":{"codehealthFindingId/v1":"ebe661a643584b1f07f1d6337b8dc3a66d272cd3e9f3b2654f838bf9631f5e52"}},{"ruleId":"D2","level":"warning","message":{"text":"PeakDetector.DetectByMatchedFilter (cognitive 46): PeakDetector.DetectByMatchedFilter has cognitive complexity 46 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakDetector.vb"},"region":{"startLine":194}}}],"partialFingerprints":{"codehealthFindingId/v1":"478b9b084244ea7fd730fbe7c49e1f13a1d9aaca196640cbefae72c88684b0f3"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylglycerol (cognitive 45): LipidMsmsCharacterization.JudgeIfPhosphatidylglycerol has cognitive complexity 45 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylglycerolD5) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2402}}}],"partialFingerprints":{"codehealthFindingId/v1":"45e14eb701df5f59dcaab3f332991016ded9123ae6244a3b60e469ee9d7091c5"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfHexhexceramidens (cognitive 45): LipidMsmsCharacterization.JudgeIfHexhexceramidens has cognitive complexity 45 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9121}}}],"partialFingerprints":{"codehealthFindingId/v1":"2934a5cd64fd8bcd33a3246492d5e521f276dc75b0f294e43c538d89e24770b7"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylglycerolD5 (cognitive 45): LipidMsmsCharacterization.JudgeIfPhosphatidylglycerolD5 has cognitive complexity 45 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylglycerol) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15501}}}],"partialFingerprints":{"codehealthFindingId/v1":"261c9d8bff900781ac803c73eb75e95d48ec3464de5155ab87f1523dcbefa8c9"}},{"ruleId":"D2","level":"warning","message":{"text":"LOESS.LOESSAlignment (cognitive 45): LOESS.LOESSAlignment has cognitive complexity 45 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/PeakAlignment/Algorithm/LOESS.vb"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7f6a8aa983b4a74206d6d3e2883ab9d728840be63825835080416745104498b"}},{"ruleId":"D2","level":"warning","message":{"text":"PeakDetector.DetectByLocalMaximum (cognitive 45): PeakDetector.DetectByLocalMaximum has cognitive complexity 45 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakDetector.vb"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"e853431ea05cc20458e06c91cfb685ac89b5e9ce2b98c134308abea96c664d10"}},{"ruleId":"D2","level":"warning","message":{"text":"XcaliburRawFileIO.ExtractParentIonMZFromFilterText (cognitive 44): XcaliburRawFileIO.ExtractParentIonMZFromFilterText has cognitive complexity 44 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":597}}}],"partialFingerprints":{"codehealthFindingId/v1":"986d374e6dbcc726f7e458ae4f0ba71027a933fc6a556e3acd26cab07d6a7e86"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfLysopcD5 (cognitive 44): LipidEieioMsmsCharacterization.JudgeIfLysopcD5 has cognitive complexity 44 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2833}}}],"partialFingerprints":{"codehealthFindingId/v1":"1873bc7a4c7649e67fa6f7be23fd7ce4e05c9e3ee7c034740bd966003e94eb16"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfOxpg (cognitive 44): LipidMsmsCharacterization.JudgeIfOxpg has cognitive complexity 44 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4527}}}],"partialFingerprints":{"codehealthFindingId/v1":"e063bef44def053a8f50b8db343c751ffab9d2efd1e701e4f472f6ee3cf63736"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfGlcadg (cognitive 44): LipidMsmsCharacterization.JudgeIfGlcadg has cognitive complexity 44 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6371}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8916d34cc99a49e48372ce174656d67aadfa113c5e0760bfbf8ae5e11eff16d"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfFahfaDMED (cognitive 44): LipidMsmsCharacterization.JudgeIfFahfaDMED has cognitive complexity 44 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7887}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b8637730b8a95d83dea101fb01adae46ba5a29fbfdf8533a10c94a030761086"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfMipc (cognitive 44): LipidMsmsCharacterization.JudgeIfMipc has cognitive complexity 44 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14477}}}],"partialFingerprints":{"codehealthFindingId/v1":"df1323550a826efaceb79fd7f6a26db8acbd8a8a621c97b505b5082e18db5704"}},{"ruleId":"D2","level":"warning","message":{"text":"FormulaStringParcer.setElementNumbers (cognitive 44): FormulaStringParcer.setElementNumbers has cognitive complexity 44 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":351}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d9434c4cd2e6cea522bfbb0aef3292e8d7b6b384287c9636825d067d94cf108"}},{"ruleId":"D2","level":"warning","message":{"text":"TICplot.RunPlot (cognitive 42): TICplot.RunPlot has cognitive complexity 42 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/ChromatogramPlot/TICplot.vb"},"region":{"startLine":200}}}],"partialFingerprints":{"codehealthFindingId/v1":"822a1cb60a091efcd40cf6ed46b099fe012dd2e1453560300bdde0b9f3789a98"}},{"ruleId":"D2","level":"warning","message":{"text":"GlycosylNameSolver.SplitByTopLevelStack (cognitive 42): GlycosylNameSolver.SplitByTopLevelStack has cognitive complexity 42 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/NaturalProduct/GlycosylNameSolver.vb"},"region":{"startLine":280}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f510a8eaf6156ef4fb8125619616842771ae5477552880b0c4c4d82066e44ba"}},{"ruleId":"D2","level":"warning","message":{"text":"Massbank.lipidnameMapping (cognitive 41): Massbank.lipidnameMapping has cognitive complexity 41 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/Massbank.vb"},"region":{"startLine":883}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4e094372ad180780a03de4327017be268fc1a830b85e3e6bed3fff56fa1cad4"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfDag (cognitive 41): LipidEieioMsmsCharacterization.JudgeIfDag has cognitive complexity 41 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1840}}}],"partialFingerprints":{"codehealthFindingId/v1":"35eff7538ea8233d78638768fbc896af42cda9adfed8a4265c45573c08ed776e"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfOxpi (cognitive 41): LipidMsmsCharacterization.JudgeIfOxpi has cognitive complexity 41 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4648}}}],"partialFingerprints":{"codehealthFindingId/v1":"6adf567a3e28951c5b224cebcdd7ba3f199ab9f95e284afade5f36ee280d3945"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPmeoh (cognitive 41): LipidMsmsCharacterization.JudgeIfPmeoh has cognitive complexity 41 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6806}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a6cf66088736446f094197081ca34c6987c741ea7a91a3b577a697baaf8f1ce"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfHexhexhexceramidens (cognitive 41): LipidMsmsCharacterization.JudgeIfHexhexhexceramidens has cognitive complexity 41 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9239}}}],"partialFingerprints":{"codehealthFindingId/v1":"cdb607df72822022d354e2738ea3cdf35b286d96c23485fe1a7e63327ed81a3f"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfMonoMethylPE (cognitive 41): LipidMsmsCharacterization.JudgeIfMonoMethylPE has cognitive complexity 41 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfDiMethylPE) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14275}}}],"partialFingerprints":{"codehealthFindingId/v1":"7971b885c6f3da48c20f98304ae3cbc95bbbe74ebd03b0df1890aad4e49db968"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfDiMethylPE (cognitive 41): LipidMsmsCharacterization.JudgeIfDiMethylPE has cognitive complexity 41 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfMonoMethylPE) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14376}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba7d6bba9576d25124560efecd37d0de13a22f3a1ef9771043299d8116a2b41d"}},{"ruleId":"D2","level":"warning","message":{"text":"FormulaCalculateUtility.GetFormulaString (cognitive 41): FormulaCalculateUtility.GetFormulaString has cognitive complexity 41 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/FormulaCalculateUtility.vb"},"region":{"startLine":414}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc05664dbc2577b1d810fbe4f5577000213306c4f7fef73ea66defd01ac64fc2"}},{"ruleId":"D2","level":"warning","message":{"text":"FragmentAssigner.isotopicPeakAssignmnet (cognitive 41): FragmentAssigner.isotopicPeakAssignmnet has cognitive complexity 41 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FragmentAssigner.vb"},"region":{"startLine":701}}}],"partialFingerprints":{"codehealthFindingId/v1":"84e7939a4b8665727130061fc8472703579964388c320c4de096d01fc9139f06"}},{"ruleId":"D2","level":"warning","message":{"text":"MissingValueImputation.ImputeKNN (cognitive 41): MissingValueImputation.ImputeKNN has cognitive complexity 41 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":310}}}],"partialFingerprints":{"codehealthFindingId/v1":"5fab565982c33dcb43f2faccab3464a8dae49ac3a0306435b1874a40161bdf50"}},{"ruleId":"D2","level":"warning","message":{"text":"SpectralPreprocessor.DerivativeSpikeRemoval (cognitive 41): SpectralPreprocessor.DerivativeSpikeRemoval has cognitive complexity 41 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":1030}}}],"partialFingerprints":{"codehealthFindingId/v1":"b38c5913812e0c15901fc6326e8961e950bd85c53f42823791954ea75b611102"}},{"ruleId":"D2","level":"warning","message":{"text":"XcaliburRawFileIO.GetTuneData (cognitive 40): XcaliburRawFileIO.GetTuneData has cognitive complexity 40 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":1630}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ad4ffdf35555fe6e593c2d8023b368c2d0cdba37fe840f768c35d02a11d38ba"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylThreonine (cognitive 40): LipidMsmsCharacterization.JudgeIfPhosphatidylThreonine has cognitive complexity 40 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfSqdg) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2288}}}],"partialFingerprints":{"codehealthFindingId/v1":"f9f10907f1aa0eed9449c3cdcc5a7adccef64c6e3395488ad2ce6b607c77dde1"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfOxps (cognitive 40): LipidMsmsCharacterization.JudgeIfOxps has cognitive complexity 40 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4761}}}],"partialFingerprints":{"codehealthFindingId/v1":"7603425c80e36803c81849a928cf282f95d975f0137d7c77133cce1f097910ce"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfSqdg (cognitive 40): LipidMsmsCharacterization.JudgeIfSqdg has cognitive complexity 40 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylThreonine) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6596}}}],"partialFingerprints":{"codehealthFindingId/v1":"078a9899da3f595bcc8d49c812934a79100fa8ceeb460124ca0c0ab71e3cda75"}},{"ruleId":"D2","level":"warning","message":{"text":"MsScanMatching.GetSimpleDotProduct (cognitive 39): MsScanMatching.GetSimpleDotProduct has cognitive complexity 39 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":1034}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce64f46262453f4c5dda5fa53351edd4bcc4b0d0da9c2b4ac5fe27e6b4473558"}},{"ruleId":"D2","level":"warning","message":{"text":"StandardCurveWorker.Regression (cognitive 39): StandardCurveWorker.Regression has cognitive complexity 39 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/MRM/QuantitativeAnalysis/StandardCurveWorker.vb"},"region":{"startLine":124}}}],"partialFingerprints":{"codehealthFindingId/v1":"350b36f1bab15f70f04e66611f5bcaf61d361e1d56ce5e15e8269e5658c5d467"}},{"ruleId":"D2","level":"warning","message":{"text":"XcaliburRawFileIO.GetScanTypeNameFromThermoScanFilterText (cognitive 38): XcaliburRawFileIO.GetScanTypeNameFromThermoScanFilterText has cognitive complexity 38 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":1478}}}],"partialFingerprints":{"codehealthFindingId/v1":"59892b412d408b49528adc517cf58199be49ea26fe43e0e95f44d97f439f46b1"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfDagD5 (cognitive 38): LipidEieioMsmsCharacterization.JudgeIfDagD5 has cognitive complexity 38 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3090}}}],"partialFingerprints":{"codehealthFindingId/v1":"6e0ff468297e4232ed6c09ccc44b05be61b1a5808a2ddba515296fd3c3c20503"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPetoh (cognitive 38): LipidMsmsCharacterization.JudgeIfPetoh has cognitive complexity 38 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPbtoh) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6709}}}],"partialFingerprints":{"codehealthFindingId/v1":"e968abd00d82cc8bb07fa50bf778268bcdcdd1e4b9374d8d1aa58cad12a20ba5"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPbtoh (cognitive 38): LipidMsmsCharacterization.JudgeIfPbtoh has cognitive complexity 38 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPetoh) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6906}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a4491f245bd95581ec97ab02918c1455d5281be6cd58a914e01c1bb766bfafe"}},{"ruleId":"D2","level":"warning","message":{"text":"MummichogAnnotator.PerformPathwayEnrichment (cognitive 38): MummichogAnnotator.PerformPathwayEnrichment has cognitive complexity 38 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Mummichog/MummichogModule.vb"},"region":{"startLine":456}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a8bc7f6975b8080c0239ab43b7f5c76ac28dbd06d929a525b2e8d02e01ac12a"}},{"ruleId":"D2","level":"warning","message":{"text":"IsotopeCalculator.GetBasicCompoundElementProfile (cognitive 38): IsotopeCalculator.GetBasicCompoundElementProfile has cognitive complexity 38 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":122}}}],"partialFingerprints":{"codehealthFindingId/v1":"e95ffbae616b984c9e05b432587c6d8f4872befdbf282df56b3cf5f584a565b2"}},{"ruleId":"D2","level":"warning","message":{"text":"Extensions.InchiKey (cognitive 38): Extensions.InchiKey has cognitive complexity 38 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Extensions.vb"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"88134544a408cd8c3cc2220ae497402c2912926041f25219fbec411bf4428cc0"}},{"ruleId":"D2","level":"warning","message":{"text":"MzWeb.readCache (cognitive 37): MzWeb.readCache has cognitive complexity 37 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/MzWeb.vb"},"region":{"startLine":438}}}],"partialFingerprints":{"codehealthFindingId/v1":"38ebb69fb436298d2bd7d2b4398456026d66f9811ccb6375d8179ef98a665f1c"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLdgts (cognitive 37): LipidMsmsCharacterization.JudgeIfLdgts has cognitive complexity 37 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6168}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e7d7a8659a2cdfc086f40b78981452666a6c21bce6822ddc7ffe038decbca16"}},{"ruleId":"D2","level":"warning","message":{"text":"FragmentAssigner.GetRefinedPeaklist (cognitive 37): FragmentAssigner.GetRefinedPeaklist has cognitive complexity 37 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FragmentAssigner.vb"},"region":{"startLine":457}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac914e1f7a09df289c21a6da955f5eaa2db34d3e5bf436b99a95d818e7ffa887"}},{"ruleId":"D2","level":"warning","message":{"text":"DirectMatch.DirectMatchAlignment (cognitive 37): DirectMatch.DirectMatchAlignment has cognitive complexity 37 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/PeakAlignment/Algorithm/DirectMatch.vb"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"33d8b51bb4e5192e1dc1dbc70155e776e537f2e08879e965582191be4e383690"}},{"ruleId":"D2","level":"warning","message":{"text":"MissingValueImputation.ImputeQRILC (cognitive 37): MissingValueImputation.ImputeQRILC has cognitive complexity 37 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":529}}}],"partialFingerprints":{"codehealthFindingId/v1":"a717efb02b860d7806af7038afe9c16addef69b46436f5766141ba0ed92f8750"}},{"ruleId":"D2","level":"warning","message":{"text":"SpectralPreprocessor.SolveALS (cognitive 37): SpectralPreprocessor.SolveALS has cognitive complexity 37 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":568}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a4fe29c2a334099c40a369ccd8937145c64c78d82b3ba7ef09b28fdc156a174"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidomicsConverter.acylChainStringSeparatorVS2 (cognitive 36): LipidomicsConverter.acylChainStringSeparatorVS2 has cognitive complexity 36 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb"},"region":{"startLine":3508}}}],"partialFingerprints":{"codehealthFindingId/v1":"cb3dba8d09fd272f6c09871c01e04aeac4b3b5f802df81b13750fa7d7aee6bbd"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfTriacylglycerolD5 (cognitive 36): LipidEieioMsmsCharacterization.JudgeIfTriacylglycerolD5 has cognitive complexity 36 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3176}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac58ccd1a77bc36219433acab0b41e1c76f9053f1f0fc894b69ab4397dcca779"}},{"ruleId":"D2","level":"warning","message":{"text":"FragmentAssigner.AnnotateIsotopes (cognitive 36): FragmentAssigner.AnnotateIsotopes has cognitive complexity 36 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FragmentAssigner.vb"},"region":{"startLine":779}}}],"partialFingerprints":{"codehealthFindingId/v1":"1bf1383cb33c06a67bd3de9293d76e9ffe1f41ee265e22e6b99163c622d49754"}},{"ruleId":"D2","level":"warning","message":{"text":"FastSeekIndex.LoadIndex_mzML (cognitive 35): FastSeekIndex.LoadIndex_mzML has cognitive complexity 35 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/FastSeekIndex.vb"},"region":{"startLine":120}}}],"partialFingerprints":{"codehealthFindingId/v1":"71810d12f0d00df33ae15ab15a97ea39288a209d36003c20d06c355a1455130c"}},{"ruleId":"D2","level":"warning","message":{"text":"IsotopeCalculator.getAllIsotopeElementPropertyForSixIsotopomerElement (cognitive 35): IsotopeCalculator.getAllIsotopeElementPropertyForSixIsotopomerElement has cognitive complexity 35 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":946}}}],"partialFingerprints":{"codehealthFindingId/v1":"02178701542458c6d16d8345de6c8d8b9d4435613e8effc8a5d6d9d4bd74c0ef"}},{"ruleId":"D2","level":"warning","message":{"text":"NCAAnalyzer.Analyze (cognitive 35): NCAAnalyzer.Analyze has cognitive complexity 35 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/PKAnalysis.vb"},"region":{"startLine":143}}}],"partialFingerprints":{"codehealthFindingId/v1":"8bc65a0efbb61581c8686ca2ced794c3461ad4d38d4dccc2ca50c744c122a16a"}},{"ruleId":"D2","level":"warning","message":{"text":"CeramideLipidParser.Parse (cognitive 34): CeramideLipidParser.Parse has cognitive complexity 34 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidParser/CeramideLipidParser.vb"},"region":{"startLine":74}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee11af2d3e919b3676a0e5c0cbc90d090e8aac2b8f9328702b91b79c0993b53a"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfCeramidensD7 (cognitive 34): LipidEieioMsmsCharacterization.JudgeIfCeramidensD7 has cognitive complexity 34 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3409}}}],"partialFingerprints":{"codehealthFindingId/v1":"57e0483a33011f29befcd219981e823d3d91e0eac58d3608b9580407d6a28f24"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylinositol (cognitive 34): LipidMsmsCharacterization.JudgeIfPhosphatidylinositol has cognitive complexity 34 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylinositolD5) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2580}}}],"partialFingerprints":{"codehealthFindingId/v1":"9dd931684e14707f20dc64144662184afc3facdf6706cb11ebb2fa53c4b40344"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfNacylphosphatidylethanolamine (cognitive 34): LipidMsmsCharacterization.JudgeIfNacylphosphatidylethanolamine has cognitive complexity 34 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2809}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b81f9296f93f6e862e98a9466a5d59ebd93de1d4b206039564edcf4b8c20641"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfGm3 (cognitive 34): LipidMsmsCharacterization.JudgeIfGm3 has cognitive complexity 34 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11577}}}],"partialFingerprints":{"codehealthFindingId/v1":"ceeed9da976c5aabdff38289e2780fd8980393d335247f0c37305860e11c49d3"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidylinositolD5 (cognitive 34): LipidMsmsCharacterization.JudgeIfPhosphatidylinositolD5 has cognitive complexity 34 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidylinositol) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15607}}}],"partialFingerprints":{"codehealthFindingId/v1":"55b84e7bbcac6e8119438929130aa2b3cbca797548da1b4738f1f29e9917527a"}},{"ruleId":"D2","level":"warning","message":{"text":"MummichogAnnotator.ReverseAnnotation (cognitive 34): MummichogAnnotator.ReverseAnnotation has cognitive complexity 34 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Mummichog/MummichogModule.vb"},"region":{"startLine":584}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6fcc074d60e39906dc43cb1637734a77f1ea6b302b82adf5c53f34add985c58"}},{"ruleId":"D2","level":"warning","message":{"text":"IsotopeCalculator.getNominalIsotopeElementPropertyForFiveIsotopomerElement (cognitive 34): IsotopeCalculator.getNominalIsotopeElementPropertyForFiveIsotopomerElement has cognitive complexity 34 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":2159}}}],"partialFingerprints":{"codehealthFindingId/v1":"14d734c1c4d47b3f7e934d3fd4b0607f36f2c845fc93bd688b48c1a84d129bb4"}},{"ruleId":"D2","level":"warning","message":{"text":"FragmentAssigner.AnnotateAdducts (cognitive 34): FragmentAssigner.AnnotateAdducts has cognitive complexity 34 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FragmentAssigner.vb"},"region":{"startLine":824}}}],"partialFingerprints":{"codehealthFindingId/v1":"2e4ab11f2d00f65f6a112bb9252567514f55312095af7bb439ebbc1c0d10eed2"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAcylcarnitine (cognitive 33): LipidMsmsCharacterization.JudgeIfAcylcarnitine has cognitive complexity 33 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3287}}}],"partialFingerprints":{"codehealthFindingId/v1":"e77b6cd45efca9f390d57f9af33871db80b2fe8ed66626b08859c581e97817e5"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylglycerol (cognitive 32): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylglycerol has cognitive complexity 32 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":575}}}],"partialFingerprints":{"codehealthFindingId/v1":"b7f320ed10ed43ef3c344f20ab9278ceeb6e18ef7fd1ccab0c096d2a40aa67f7"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfLysope (cognitive 32): LipidEieioMsmsCharacterization.JudgeIfLysope has cognitive complexity 32 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1146}}}],"partialFingerprints":{"codehealthFindingId/v1":"645afd746aca07baa9325fbcff126b2c13e0a769b39b1c7d12d0cc07b91b2001"}},{"ruleId":"D2","level":"warning","message":{"text":"EidSpecificSpectrumGenerator.EidSpecificSpectrumGen (cognitive 32): EidSpecificSpectrumGenerator.EidSpecificSpectrumGen has cognitive complexity 32 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/EidSpecificSpectrumGenerator.vb"},"region":{"startLine":64}}}],"partialFingerprints":{"codehealthFindingId/v1":"001c7da610c1ea9148fdcf4c26212633f45ad660fe7c3f2b522803670547ee05"}},{"ruleId":"D2","level":"warning","message":{"text":"CrossReferenceData.Compares (cognitive 32): CrossReferenceData.Compares has cognitive complexity 32 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Metabolite/CrossReference/CrossReferenceData.vb"},"region":{"startLine":254}}}],"partialFingerprints":{"codehealthFindingId/v1":"8809b44390d7a4233bbbe5fbc11d3a5ddb6049b0e22e995d103d4d1a9dcb5e24"}},{"ruleId":"D2","level":"warning","message":{"text":"XrefSchema.PullCollection (cognitive 32): XrefSchema.PullCollection has cognitive complexity 32 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Metabolite/CrossReference/XrefSchema.vb"},"region":{"startLine":138}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5a469c890d3744725f33ec7e1a2ec221e10253a1af8e1b67926b83deb0fa945"}},{"ruleId":"D2","level":"warning","message":{"text":"PeakAreaCalculator.GaussianFittingIntegration (cognitive 32): PeakAreaCalculator.GaussianFittingIntegration has cognitive complexity 32 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakArea/PeakAreaCalculator.vb"},"region":{"startLine":100}}}],"partialFingerprints":{"codehealthFindingId/v1":"96b68c0040afd74104013b8620bf3fc96aebcc24fd1aeb767cfa7eed204557a1"}},{"ruleId":"D2","level":"warning","message":{"text":"mzDeco.RI_calc (cognitive 31): mzDeco.RI_calc has cognitive complexity 31 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/mzDeco.vb"},"region":{"startLine":928}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf217366c835c191df325c3aecf9b523558f1f0b7fd2b2bff37328be6cb4debd"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfShexcer (cognitive 31): LipidEieioMsmsCharacterization.JudgeIfShexcer has cognitive complexity 31 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1626}}}],"partialFingerprints":{"codehealthFindingId/v1":"c701e755cd4d9bd05809cd4257756f525dce68d10da1b3996232664522f52c59"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfEtherpc (cognitive 31): LipidEieioMsmsCharacterization.JudgeIfEtherpc has cognitive complexity 31 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1925}}}],"partialFingerprints":{"codehealthFindingId/v1":"287dc82422605594779f615eb72e427c18f059065f06731c25480ceff37346fe"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfNGcGM3 (cognitive 31): LipidMsmsCharacterization.JudgeIfNGcGM3 has cognitive complexity 31 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12056}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d7203a49e821337f73884a8f709e5bf59812002030c82f9498cd1fd52b7328b"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherps (cognitive 31): LipidMsmsCharacterization.JudgeIfEtherps has cognitive complexity 31 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12341}}}],"partialFingerprints":{"codehealthFindingId/v1":"a04c009af69eab9c3233b42c13bd1e1e81ef4f56b7f939b147fe9d1f3039b2d3"}},{"ruleId":"D2","level":"warning","message":{"text":"SequenceToSpec.GetSpectrumPeaksByHotECD (cognitive 31): SequenceToSpec.GetSpectrumPeaksByHotECD has cognitive complexity 31 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/SequenceToSpec.vb"},"region":{"startLine":255}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc07ebef013f9a795f65d8a1a15bbd7142667f0a1dd88f579e290f786e07b17b"}},{"ruleId":"D2","level":"warning","message":{"text":"MathHelpers.MatrixInverse (cognitive 31): MathHelpers.MatrixInverse has cognitive complexity 31 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MathHelpers.vb"},"region":{"startLine":342}}}],"partialFingerprints":{"codehealthFindingId/v1":"8551b922f1cf803c28bd931673bb02eaf63c288d50b7a8f7c4609cf65431cbf3"}},{"ruleId":"D2","level":"warning","message":{"text":"ChromatogramTools.toChromatogram (cognitive 30): ChromatogramTools.toChromatogram has cognitive complexity 30 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/Chromatogram.vb"},"region":{"startLine":220}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0b1eeddb459f9afb202b0b92daf209630c2dacd74dca793d55b2f82214e8600"}},{"ruleId":"D2","level":"warning","message":{"text":"FastSeekIndex.LoadIndex_mzXML (cognitive 30): FastSeekIndex.LoadIndex_mzXML has cognitive complexity 30 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/FastSeekIndex.vb"},"region":{"startLine":192}}}],"partialFingerprints":{"codehealthFindingId/v1":"267be1f1d2546b7e7af67ba5ae064aaa9d28746c0662ba19b701f257bbd8d546"}},{"ruleId":"D2","level":"warning","message":{"text":"ScanPopulator.Load (cognitive 30): ScanPopulator.Load has cognitive complexity 30 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/mzWebCache/ScanPopulator.vb"},"region":{"startLine":178}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6b9c688f15a70093118078e90bf129b81c2ff505102cd2b9703a034669dc058"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfDgts (cognitive 30): LipidEieioMsmsCharacterization.JudgeIfDgts has cognitive complexity 30 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3527}}}],"partialFingerprints":{"codehealthFindingId/v1":"eedc34a353b78bd75002ee8ddb7ee3cfea88412f54c11da4a55b29d83124cd7d"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfDag (cognitive 30): LipidMsmsCharacterization.JudgeIfDag has cognitive complexity 30 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfDagD5) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3380}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3494e2cbbf6ac1efef86cb5f702fa13d05d0f4b61e7f15b7375023911ea6080"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfGT1b (cognitive 30): LipidMsmsCharacterization.JudgeIfGT1b has cognitive complexity 30 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfGQ1b) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11916}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4df69f6122a0726a126e74e5e8c3f7cfdaa5a7b89c55aa34006c5fbda609aa5"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfGQ1b (cognitive 30): LipidMsmsCharacterization.JudgeIfGQ1b has cognitive complexity 30 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfGT1b) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11986}}}],"partialFingerprints":{"codehealthFindingId/v1":"a04cd57d69bde77d122c1121e29d3cca8380309583f664112d84b956f523082e"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfSteroidWithPa (cognitive 30): LipidMsmsCharacterization.JudgeIfSteroidWithPa has cognitive complexity 30 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14879}}}],"partialFingerprints":{"codehealthFindingId/v1":"a92c29327bac1956fdefc1c401732a3e48dca0b19f0d667d3fcc8c6c16db5457"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfDagD5 (cognitive 30): LipidMsmsCharacterization.JudgeIfDagD5 has cognitive complexity 30 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfDag) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":16024}}}],"partialFingerprints":{"codehealthFindingId/v1":"1478ba9c176a6839486ef9d69f5e44dbb34a0b6ef4e25f9cc3c1f3245d7c172d"}},{"ruleId":"D2","level":"warning","message":{"text":"SpectrumPeakGenerator.GetDoubleBondSpectrum (cognitive 30): SpectrumPeakGenerator.GetDoubleBondSpectrum has cognitive complexity 30 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumPeakGenerator.vb"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"58ed858ede08dfb8b1968f5bd6e479e5a55d447012ca365964f1704c88ea7078"}},{"ruleId":"D2","level":"warning","message":{"text":"GraphBuilder.BuildFragmentFragmentEdges (cognitive 30): GraphBuilder.BuildFragmentFragmentEdges has cognitive complexity 30 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_simulator/MSGNN/GraphBuilder.vb"},"region":{"startLine":302}}}],"partialFingerprints":{"codehealthFindingId/v1":"8080e0ac3b9d3e7e442742260000d1283c5f8aedf14ff25bee2fc98288d15db8"}},{"ruleId":"D2","level":"warning","message":{"text":"GlycosylNameSolver.HandleMultiple (cognitive 30): GlycosylNameSolver.HandleMultiple has cognitive complexity 30 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/NaturalProduct/GlycosylNameSolver.vb"},"region":{"startLine":214}}}],"partialFingerprints":{"codehealthFindingId/v1":"387f484a946bf8ffa92b934a1a80b3b3b5676940742fcd24132068dbaf71edb6"}},{"ruleId":"D2","level":"warning","message":{"text":"Assembly.writeMgfIons (cognitive 29): Assembly.writeMgfIons has cognitive complexity 29 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/Assembly.vb"},"region":{"startLine":336}}}],"partialFingerprints":{"codehealthFindingId/v1":"b1fdca5c011209dffcb586e424d00710cca69781357b9f6aa4909356dd137e04"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidAnnotation.Characterize (cognitive 29): LipidAnnotation.Characterize has cognitive complexity 29 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Lipidomics.vb"},"region":{"startLine":148}}}],"partialFingerprints":{"codehealthFindingId/v1":"b305ee2d7064e9782ff8d45df688bc0ab67d5f46071e0c0340c45e53eb667f35"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfPhosphatidylglycerolD5 (cognitive 29): LipidEieioMsmsCharacterization.JudgeIfPhosphatidylglycerolD5 has cognitive complexity 29 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2392}}}],"partialFingerprints":{"codehealthFindingId/v1":"79f7c9f3e6886d11b522d9ed4f4fbf93815caf6ed48bdb4768dc4d56ac769063"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfDgcc (cognitive 29): LipidMsmsCharacterization.JudgeIfDgcc has cognitive complexity 29 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6258}}}],"partialFingerprints":{"codehealthFindingId/v1":"189f37270c7759bac6495a640224b3641a9a67af25310f75c41edd8db37a6eb0"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramidePhosphate (cognitive 29): LipidMsmsCharacterization.JudgeIfCeramidePhosphate has cognitive complexity 29 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8130}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc43f2815a4f877246f08866ea580c16b7d2686b18d4dc9296b22771f5d13fa2"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfGM1 (cognitive 29): LipidMsmsCharacterization.JudgeIfGM1 has cognitive complexity 29 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11848}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d5d22824f9ce181606057fea306f501d6d4e82091cdb674b9bb771e20eff509"}},{"ruleId":"D2","level":"warning","message":{"text":"GlycosylNameSolver.HandleComponents (cognitive 29): GlycosylNameSolver.HandleComponents has cognitive complexity 29 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/NaturalProduct/GlycosylNameSolver.vb"},"region":{"startLine":92}}}],"partialFingerprints":{"codehealthFindingId/v1":"69cff51466b11c9216b8c839d3c1b5809fc2c853e66ac191dc11591a7aedeb9d"}},{"ruleId":"D2","level":"warning","message":{"text":"MsScanMatching.GetMatchedPeaksScores (cognitive 29): MsScanMatching.GetMatchedPeaksScores has cognitive complexity 29 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":394}}}],"partialFingerprints":{"codehealthFindingId/v1":"58eb85068709b8a84fa034a4903b45850ed56c809bcbce4b1a181d07a8563cd6"}},{"ruleId":"D2","level":"warning","message":{"text":"MsScanMatching.GetMachedSpectralPeaks (cognitive 29): MsScanMatching.GetMachedSpectralPeaks has cognitive complexity 29 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":685}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b87009052dd905942e1109fb63c5a7067c7afa78dfe544c06fbdd76507c4bda"}},{"ruleId":"D2","level":"warning","message":{"text":"MissingValueImputation.ImputeRandomMin (cognitive 29): MissingValueImputation.ImputeRandomMin has cognitive complexity 29 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":594}}}],"partialFingerprints":{"codehealthFindingId/v1":"0181e09d71e1a884aade72b60dbba20f8c9ab2a8105005dc8b6097d53362f863"}},{"ruleId":"D2","level":"warning","message":{"text":"MathHelper.MatrixInverse (cognitive 29): MathHelper.MatrixInverse has cognitive complexity 29 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":2173}}}],"partialFingerprints":{"codehealthFindingId/v1":"57d99b7671827bd4b7f449907986ea0b5df25819d4717d9056d07ade534600eb"}},{"ruleId":"D2","level":"warning","message":{"text":"Converter.LoadScanStream (cognitive 28): Converter.LoadScanStream has cognitive complexity 28 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/Converter.vb"},"region":{"startLine":207}}}],"partialFingerprints":{"codehealthFindingId/v1":"b1e651436114cfde50e3a8eeba4c6d88ba90561b17555fee107d3dd9b04bf2b6"}},{"ruleId":"D2","level":"warning","message":{"text":"mzStreamWriter.WriteStream (cognitive 28): mzStreamWriter.WriteStream has cognitive complexity 28 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/v2.0/mzStreamWriter.vb"},"region":{"startLine":226}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e56e498b3d81d1bfd904bedb978fee04f8ddd420a9f8537de049a47e3589872"}},{"ruleId":"D2","level":"warning","message":{"text":"ModificationProtocol.UpdateProtocol (cognitive 28): ModificationProtocol.UpdateProtocol has cognitive complexity 28 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/ModificationProtocol.vb"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"799b6fb0e64ffcbd60eb7cf87ab0d3cfd4007eaf1ef23dd3acc8917d45ab7717"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherlysope (cognitive 27): LipidMsmsCharacterization.JudgeIfEtherlysope has cognitive complexity 27 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4243}}}],"partialFingerprints":{"codehealthFindingId/v1":"2e64edb17efc76903b6e5d9d123595f1156246e46c687cc601ef2e02c030ec01"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfGD1a (cognitive 27): LipidMsmsCharacterization.JudgeIfGD1a has cognitive complexity 27 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11666}}}],"partialFingerprints":{"codehealthFindingId/v1":"637de80835fb22457718f6e59192a01d283f30389c5e178d4bf77b5a6bc51acd"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfGD1b (cognitive 27): LipidMsmsCharacterization.JudgeIfGD1b has cognitive complexity 27 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11732}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b8ac625e251a401388afd6e6ea43c239116d661019006d7746b6fea9dbf9dbb"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPecermide (cognitive 27): LipidMsmsCharacterization.JudgeIfPecermide has cognitive complexity 27 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12390}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad5c4091dd68bcdb65248cc678a021cbb10737119c7bcac683c8f49f319d3c32"}},{"ruleId":"D2","level":"warning","message":{"text":"OadLipidSpectrumGenerator.GetClassFragmentSpectrum (cognitive 27): OadLipidSpectrumGenerator.GetClassFragmentSpectrum has cognitive complexity 27 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/OadLipidsSpectrumGenerator.vb"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"15aecffaf017d729ed7a3e98fac65b61c7149911aaaad0130b7e0e759044f43c"}},{"ruleId":"D2","level":"warning","message":{"text":"MummichogAnnotator.ValidateIsotopePattern (cognitive 27): MummichogAnnotator.ValidateIsotopePattern has cognitive complexity 27 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Mummichog/MummichogModule.vb"},"region":{"startLine":742}}}],"partialFingerprints":{"codehealthFindingId/v1":"dcf0b077ca1135c81b6b4c644c87f7495937660699e43c956e028f3cc8dbd291"}},{"ruleId":"D2","level":"warning","message":{"text":"LibraryWorkspace.read (cognitive 27): LibraryWorkspace.read has cognitive complexity 27 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/AnnotationPack/WorkspaceReader.vb"},"region":{"startLine":188}}}],"partialFingerprints":{"codehealthFindingId/v1":"c8cd74cc403f1709b53234042015d8ea4d096332b36cb1eb21c26d648252aaac"}},{"ruleId":"D2","level":"warning","message":{"text":"MsScanMatching.GetMachedSpectralPeaks (cognitive 27): MsScanMatching.GetMachedSpectralPeaks has cognitive complexity 27 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":648}}}],"partialFingerprints":{"codehealthFindingId/v1":"f69bc7b49a42bc800b04a810c1d9cffe5df6633c9f80da6be6f0c783bf6cefee"}},{"ruleId":"D2","level":"warning","message":{"text":"MetaDbXref.searchMz (cognitive 26): MetaDbXref.searchMz has cognitive complexity 26 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/MetaDbXref.vb"},"region":{"startLine":570}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e67555059ce3b3f6b0edbbb78e2d26dd574c7815abc8a0cf656472e4dacf25a"}},{"ruleId":"D2","level":"warning","message":{"text":"TissueMorphology.intersect (cognitive 26): TissueMorphology.intersect has cognitive complexity 26 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/comprehensive/TissueMorphology.vb"},"region":{"startLine":384}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d942e36c82399d3e88f95e464cb937afd726a5a9bba35a1a5b2007a4c6c3228"}},{"ruleId":"D2","level":"warning","message":{"text":"MathHelpers.SolveLinearSystem (cognitive 26): MathHelpers.SolveLinearSystem has cognitive complexity 26 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MathHelpers.vb"},"region":{"startLine":282}}}],"partialFingerprints":{"codehealthFindingId/v1":"163de590dd0ae95fd042e95b936a5179c18c798d18662781ea2df498ac4e9cdf"}},{"ruleId":"D2","level":"warning","message":{"text":"PeakProcessor.ProcessPeaksCombined (cognitive 26): PeakProcessor.ProcessPeaksCombined has cognitive complexity 26 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakProcessor.vb"},"region":{"startLine":154}}}],"partialFingerprints":{"codehealthFindingId/v1":"5d207bdddff184b64dd221cce4b64c3658229f49700beab7a6e2d5285c0ee630"}},{"ruleId":"D2","level":"warning","message":{"text":"PeakQualityEvaluator.EvaluatePeakQuality (cognitive 26): PeakQualityEvaluator.EvaluatePeakQuality has cognitive complexity 26 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakQualityEvaluator.vb"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"f18ff1cc16be389fa8ee46f0dbfefb7d6bd7c278c28f7b27d45641a947a5fff8"}},{"ruleId":"D2","level":"warning","message":{"text":"MsScanMatching.GetLipidomicsMatchedPeaksScores (cognitive 25): MsScanMatching.GetLipidomicsMatchedPeaksScores has cognitive complexity 25 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":1551}}}],"partialFingerprints":{"codehealthFindingId/v1":"160bd597f99b1b0ed74d260a1fb39195a80e183c84d69693ea16be665f6f8e88"}},{"ruleId":"D2","level":"warning","message":{"text":"HexCerLipidParser.Parse (cognitive 25): HexCerLipidParser.Parse has cognitive complexity 25 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidParser/HexCerLipidParser.vb"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f36f2b2c1dfd0fe11e68a28062807b5b2f217f52635982298a925334362db76"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhosphatidicacid (cognitive 25): LipidMsmsCharacterization.JudgeIfPhosphatidicacid has cognitive complexity 25 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfEtherpg) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5579}}}],"partialFingerprints":{"codehealthFindingId/v1":"d852f2f4d8f364d716b7a89a66d3ed0142668f42ff19fe69dc9336977764a7ba"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherpg (cognitive 25): LipidMsmsCharacterization.JudgeIfEtherpg has cognitive complexity 25 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfPhosphatidicacid) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13372}}}],"partialFingerprints":{"codehealthFindingId/v1":"1b32a4aed5945c716da4b44623e27ea33e52c9d89d10694f9ff808e21440f04c"}},{"ruleId":"D2","level":"warning","message":{"text":"SpectrumPool.AddInternal (cognitive 25): SpectrumPool.AddInternal has cognitive complexity 25 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumPool/SpectrumPool.vb"},"region":{"startLine":262}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c18b7945da3d5f0a48db946011c29a8eaa84d6e2816107960d17504e88e83f1"}},{"ruleId":"D2","level":"warning","message":{"text":"SevenGoldenRulesCheck.ProbabilityCheck (cognitive 25): SevenGoldenRulesCheck.ProbabilityCheck has cognitive complexity 25 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/SevenGoldenRulesCheck.vb"},"region":{"startLine":498}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ae3007a19ca284083b278961f7e315506022a2aef028a82cb7d58f21825196c"}},{"ruleId":"D2","level":"warning","message":{"text":"SDFReader.FixMzType (cognitive 25): SDFReader.FixMzType has cognitive complexity 25 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/SDF/SDFReader.vb"},"region":{"startLine":202}}}],"partialFingerprints":{"codehealthFindingId/v1":"ebe9b054a0c41a0fe905cfb0d5565bec8bfd6d18a48b4bcf2b8bf82fd6a15bdc"}},{"ruleId":"D2","level":"warning","message":{"text":"FormulaGenerator.getFormulaSearchResults (cognitive 25): FormulaGenerator.getFormulaSearchResults has cognitive complexity 25 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaGenerator.vb"},"region":{"startLine":467}}}],"partialFingerprints":{"codehealthFindingId/v1":"2adbde687c50b1b1c1d7d50aad1575647d8a6c9588a28b2228e904b3f5784414"}},{"ruleId":"D2","level":"warning","message":{"text":"AdductIonParser.IsCommonAdduct (cognitive 25): AdductIonParser.IsCommonAdduct has cognitive complexity 25 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/PrecursorType/AdductIonParser.vb"},"region":{"startLine":209}}}],"partialFingerprints":{"codehealthFindingId/v1":"837594a70d8531a3cddec92c02ddfb1f43113f4fe9402c3f6520d2220a140bc8"}},{"ruleId":"D2","level":"warning","message":{"text":"DTW.ComputeDTW (cognitive 25): DTW.ComputeDTW has cognitive complexity 25 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/PeakAlignment/Algorithm/DTW.vb"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"4617543a270a5901b94c78ddff4063414abefc11cf8719492221a97b51bc8033"}},{"ruleId":"D2","level":"warning","message":{"text":"metaDNAInfer.handleSample (cognitive 24): metaDNAInfer.handleSample has cognitive complexity 24 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzDIA/metaDNA.vb"},"region":{"startLine":412}}}],"partialFingerprints":{"codehealthFindingId/v1":"22533cacea8f1316650f7b2c274b40012b1cb2b27f8701d1660275613f5899c5"}},{"ruleId":"D2","level":"warning","message":{"text":"MergeLayoutSliders.MergeDataWithLayout (cognitive 24): MergeLayoutSliders.MergeDataWithLayout has cognitive complexity 24 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/MsImaging/MergeSliders/MergeLayoutSliders.vb"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"75dd6a78de84b6429e2313d9a72596d614625b4db4514c03451b47118474f74a"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfDgmg (cognitive 24): LipidMsmsCharacterization.JudgeIfDgmg has cognitive complexity 24 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5347}}}],"partialFingerprints":{"codehealthFindingId/v1":"641c941922da0046abd7d0bdb69fe535faac905af61f5dc1dc0cc82a720bd3ab"}},{"ruleId":"D2","level":"warning","message":{"text":"IsotopeCalculator.getAllIsotopeElementPropertyForFiveIsotopomerElement (cognitive 24): IsotopeCalculator.getAllIsotopeElementPropertyForFiveIsotopomerElement has cognitive complexity 24 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1041}}}],"partialFingerprints":{"codehealthFindingId/v1":"db9fe1bc0ad9e91c4538dab2a504ef193cb74af93bd0bfac91ac4feb0014ab1e"}},{"ruleId":"D2","level":"warning","message":{"text":"MsScanMatching.SearchMatchedPeaks (cognitive 24): MsScanMatching.SearchMatchedPeaks has cognitive complexity 24 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":511}}}],"partialFingerprints":{"codehealthFindingId/v1":"27832cbd7ed921041a84407c132e1c7d02c4e13e0bcb83bb7723fc66ccd6d39c"}},{"ruleId":"D2","level":"warning","message":{"text":"MissingValueImputation.ImputeHalfMin (cognitive 24): MissingValueImputation.ImputeHalfMin has cognitive complexity 24 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (MissingValueImputation.ImputeMinValue) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":155}}}],"partialFingerprints":{"codehealthFindingId/v1":"208cf89a7a468898d8e368fe5b3ec4250d2d01e90aeaf65fbb410438dc147d76"}},{"ruleId":"D2","level":"warning","message":{"text":"MissingValueImputation.ImputeMinValue (cognitive 24): MissingValueImputation.ImputeMinValue has cognitive complexity 24 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (MissingValueImputation.ImputeHalfMin) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":191}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e3975fc9c0d92d789b24117317a8458888ab1e11ff07d1d6a517e73a4cb2622"}},{"ruleId":"D2","level":"warning","message":{"text":"MathHelper.SolveLinearSystem (cognitive 24): MathHelper.SolveLinearSystem has cognitive complexity 24 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":2237}}}],"partialFingerprints":{"codehealthFindingId/v1":"c8453fe64abf8527620499ede4350fa81395178edfd22b17ba965aa1629dd681"}},{"ruleId":"D2","level":"warning","message":{"text":"MSI.spatialConvolution (cognitive 23): MSI.spatialConvolution has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/comprehensive/MSI.vb"},"region":{"startLine":1641}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ca97dcab0c44f5dde256397c122abcc499b677c73fb3a5b5fd50a35549c8180"}},{"ruleId":"D2","level":"warning","message":{"text":"ReferenceTreePkg.addBucket (cognitive 23): ReferenceTreePkg.addBucket has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/pipeline/ReferenceTree.vb"},"region":{"startLine":749}}}],"partialFingerprints":{"codehealthFindingId/v1":"ec5ed8fa31d2eda8ae0c399813d422b64735f33dc5368fdffa10a19968263cc1"}},{"ruleId":"D2","level":"warning","message":{"text":"MsScanMatching.GetRefinedLipidAnnotationLevel (cognitive 23): MsScanMatching.GetRefinedLipidAnnotationLevel has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (MsScanMatching.GetRefinedLipidAnnotationLevelForEIEIO) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":1471}}}],"partialFingerprints":{"codehealthFindingId/v1":"f84fb9793909c0d193dd3fd3af55e7c3eb781dbd90d06c9689b891ff87432fd5"}},{"ruleId":"D2","level":"warning","message":{"text":"MsScanMatching.GetRefinedLipidAnnotationLevelForEIEIO (cognitive 23): MsScanMatching.GetRefinedLipidAnnotationLevelForEIEIO has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (MsScanMatching.GetRefinedLipidAnnotationLevel) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":1635}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c47fdd95b4c33cd3d6e02301a88cccfd48934aa0fc659f36ae2d18a0006a65b"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfLysopeD5 (cognitive 23): LipidEieioMsmsCharacterization.JudgeIfLysopeD5 has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2913}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd96b4ee7fb62e71bb277a38af480d8fa34c1322c41c45fab00dd2c7e7b829df"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfBismonoacylglycerophosphate (cognitive 23): LipidMsmsCharacterization.JudgeIfBismonoacylglycerophosphate has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2520}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a4f3f12f18032be1267abbc785fa315035debb4c22ffb147a1f6f6fdd0216fa"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfVitaminaestermolecules (cognitive 23): LipidMsmsCharacterization.JudgeIfVitaminaestermolecules has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13612}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ca8dbde19ca4f129c090848b868c36798d4c2624a991bf156383ceb1e721da2"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfFahfamideorn (cognitive 23): LipidMsmsCharacterization.JudgeIfFahfamideorn has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfSmgdg) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13643}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e53484db4aa9d805adc3e1ad5862fdae859f1b3a9c482b9940b818f64cdaa57"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfSmgdg (cognitive 23): LipidMsmsCharacterization.JudgeIfSmgdg has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfFahfamideorn) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14076}}}],"partialFingerprints":{"codehealthFindingId/v1":"48bf1ba390d74a187df75b153f2d4f4b1fae92c98942f1eb410539b77b57709e"}},{"ruleId":"D2","level":"warning","message":{"text":"CerNSd7SpectrumGenerator.GetSphingoDoubleBondSpectrum (cognitive 23): CerNSd7SpectrumGenerator.GetSphingoDoubleBondSpectrum has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CeramideNsD7SpectrumGenerator.vb"},"region":{"startLine":172}}}],"partialFingerprints":{"codehealthFindingId/v1":"0485507fbd6f60d62f87f526b445dd25ae240565fb1c12dcdfb316ee5ccd12e3"}},{"ruleId":"D2","level":"warning","message":{"text":"AdductsRanking.RankNegative (cognitive 23): AdductsRanking.RankNegative has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/FormulaSearch.Extensions/AdductsRanking.vb"},"region":{"startLine":330}}}],"partialFingerprints":{"codehealthFindingId/v1":"74e7810cb22cd182a8b713b3b51a681597f6ce1eab51309b9f037e1870765c79"}},{"ruleId":"D2","level":"warning","message":{"text":"Extensions.GetInformationNumber (cognitive 23): Extensions.GetInformationNumber has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/Extensions.vb"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"20a790efada9260842978a8b30f6b4ece67ded3634b8e14a677c4644af2ad6fc"}},{"ruleId":"D2","level":"warning","message":{"text":"MetaInfoReader.getSynonyms (cognitive 23): MetaInfoReader.getSynonyms has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/MetaInfoReader.vb"},"region":{"startLine":131}}}],"partialFingerprints":{"codehealthFindingId/v1":"16ff8a679f1b3eb751667c0aa3bff67c58debe6d45717c5e7f562e8a08f9f342"}},{"ruleId":"D2","level":"warning","message":{"text":"SequenceToSpec.GetSpectrumPeaksByECD (cognitive 23): SequenceToSpec.GetSpectrumPeaksByECD has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/SequenceToSpec.vb"},"region":{"startLine":397}}}],"partialFingerprints":{"codehealthFindingId/v1":"7604d71a3078786e7e0c7d595e6c66e09fd5d7e128b5bf9a5e977e90dd65bf36"}},{"ruleId":"D2","level":"warning","message":{"text":"MsScanMatching.GetTotalSimilarity (cognitive 23): MsScanMatching.GetTotalSimilarity has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":1211}}}],"partialFingerprints":{"codehealthFindingId/v1":"6cb2dac78fc6d3e4ca812a01bace43a83318c5d5cf9069720f7eea776555c37e"}},{"ruleId":"D2","level":"warning","message":{"text":"FormulaStringParcer.OrganicElementsReader (cognitive 23): FormulaStringParcer.OrganicElementsReader has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"037580a7b3bd65750497b49b165199226713a4a3c2fd2b60e231fd2cca7b17b2"}},{"ruleId":"D2","level":"warning","message":{"text":"FragmentAssigner.FastNeutralLossAssigner (cognitive 23): FragmentAssigner.FastNeutralLossAssigner has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FragmentAssigner.vb"},"region":{"startLine":321}}}],"partialFingerprints":{"codehealthFindingId/v1":"dfa8ebb065642ac3fe47b4b12d11de4082da1ae2c09d923eb113870edd066fa6"}},{"ruleId":"D2","level":"warning","message":{"text":"Algorithm.FillGaps (cognitive 23): Algorithm.FillGaps has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/PeakAlignment/PeakAlignment.vb"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"13023137bebdbd84f9a221a800d612ba55c7152a6ab38e388bb0b790728c82fc"}},{"ruleId":"D2","level":"warning","message":{"text":"SaveXcms.GetPeaks (cognitive 23): SaveXcms.GetPeaks has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Save/SaveXcms.vb"},"region":{"startLine":183}}}],"partialFingerprints":{"codehealthFindingId/v1":"c254dd3109a1e88e124bb2c965c0823bd3a5370d4bcad6a2f99c6474375b40c0"}},{"ruleId":"D2","level":"warning","message":{"text":"SpectralPreprocessor.ALSBaselineCorrect (cognitive 23): SpectralPreprocessor.ALSBaselineCorrect has cognitive complexity 23 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":508}}}],"partialFingerprints":{"codehealthFindingId/v1":"788d04d4fb3ddd88c961d75086e05cbc123bdda1cc78d44930b6c92e86e224f5"}},{"ruleId":"D2","level":"warning","message":{"text":"SingleCellsPack.PackSingleCellsInSampleGroup (cognitive 22): SingleCellsPack.PackSingleCellsInSampleGroup has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/comprehensive/SingleCellsPack.vb"},"region":{"startLine":145}}}],"partialFingerprints":{"codehealthFindingId/v1":"41e8ba891d5ee57e0e23839dab26d67da5e4a3adda474823505a534633a3509a"}},{"ruleId":"D2","level":"warning","message":{"text":"MsScanMatching.GetLipidomicsMoleculerSpeciesLevelAnnotationPeaksScoresForEIEIO (cognitive 22): MsScanMatching.GetLipidomicsMoleculerSpeciesLevelAnnotationPeaksScoresForEIEIO has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":1593}}}],"partialFingerprints":{"codehealthFindingId/v1":"a95360f673984ed0e266feeb6caed363fdd4871199b19a734f1ff1c094fa4290"}},{"ruleId":"D2","level":"warning","message":{"text":"DoubleBondIndeterminateState.Indeterminate (cognitive 22): DoubleBondIndeterminateState.Indeterminate has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/DoubleBondIndeterminateState.vb"},"region":{"startLine":90}}}],"partialFingerprints":{"codehealthFindingId/v1":"0fa470e1042c7838828e67c03ad9856b01921bb4dac3c450b474d769955a3f2f"}},{"ruleId":"D2","level":"warning","message":{"text":"LipoqualityDatabaseManagerUtility.getLipidChainsInformation (cognitive 22): LipoqualityDatabaseManagerUtility.getLipidChainsInformation has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityDatabaseManagerUtility.vb"},"region":{"startLine":466}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3beb8519155b23eb5d7c9f6e53586ee804ed4d4016e417e98130b24f00d8d0e"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfSphingomyelinPhyto (cognitive 22): LipidMsmsCharacterization.JudgeIfSphingomyelinPhyto has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfEtherlysopc) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3089}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e8ef20f831016763385f338784d94897a5cd9bd93ca8e064204cf43c9e255c3"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherlysopc (cognitive 22): LipidMsmsCharacterization.JudgeIfEtherlysopc has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfSphingomyelinPhyto) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4194}}}],"partialFingerprints":{"codehealthFindingId/v1":"3725dce6ac743279339f2793c4cbddadd9722458fe5d8cb656b1c0bad897e443"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfMgmg (cognitive 22): LipidMsmsCharacterization.JudgeIfMgmg has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5302}}}],"partialFingerprints":{"codehealthFindingId/v1":"3367cc48fc0b1f9c5e4cd6a1619c1c434df3759c0041bbb2475f1b843046d348"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfDilysocardiolipin (cognitive 22): LipidMsmsCharacterization.JudgeIfDilysocardiolipin has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfEtherpi) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7603}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f592e5217d801cc5f784a35ef1325b02adf6130aa433f09da1b3a08c1f4bfa1"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCeramidedos (cognitive 22): LipidMsmsCharacterization.JudgeIfCeramidedos has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9060}}}],"partialFingerprints":{"codehealthFindingId/v1":"33bc97479ef84c96f4e30833918a51066af10384d104c7d8c02985c15a62af3c"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfEtherpi (cognitive 22): LipidMsmsCharacterization.JudgeIfEtherpi has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfDilysocardiolipin) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12288}}}],"partialFingerprints":{"codehealthFindingId/v1":"609058b2422e1811a7cea7e753d76b305f81db9f7432042c15ee619ad3b7359e"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfGpnae (cognitive 22): LipidMsmsCharacterization.JudgeIfGpnae has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12911}}}],"partialFingerprints":{"codehealthFindingId/v1":"d97d67050797b94e045895679ab3f267ba5ab9d42e4c8a0024a69d25670a2dbf"}},{"ruleId":"D2","level":"warning","message":{"text":"SpectrumPeakGenerator.GetSphingoDoubleBondSpectrum (cognitive 22): SpectrumPeakGenerator.GetSphingoDoubleBondSpectrum has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumPeakGenerator.vb"},"region":{"startLine":211}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f9ee89d3c9edd600d6bd1af8051973dbb675ba993479492ad080b75d1dbeead"}},{"ruleId":"D2","level":"warning","message":{"text":"Exporters.ExportJSON (cognitive 22): Exporters.ExportJSON has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_simulator/MSGNN/Exporters.vb"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"1489d25fb675f4c08f7d29cffafd3cb269d1b8e4c23e40617c723537124ea131"}},{"ruleId":"D2","level":"warning","message":{"text":"FormulaScanner.ScanFormula (cognitive 22): FormulaScanner.ScanFormula has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/FormulaScanner.vb"},"region":{"startLine":270}}}],"partialFingerprints":{"codehealthFindingId/v1":"28b4005fb308d51a3fb912c7b27dea0d93cdfa4362a8b2abe422f1b547f28bba"}},{"ruleId":"D2","level":"warning","message":{"text":"ChemicalCalculator.CalculatePossibleCharges (cognitive 22): ChemicalCalculator.CalculatePossibleCharges has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Models/ChemicalCalculator.vb"},"region":{"startLine":43}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9afaf0a9394cd063b3c40bf2ac6b5ad2f0f3003c6d0e569da217eb784fce9b5"}},{"ruleId":"D2","level":"warning","message":{"text":"MetaDb.getBioMarkers (cognitive 22): MetaDb.getBioMarkers has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/Tables/MetaDBTable.vb"},"region":{"startLine":276}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ee3e459de2f32fa099e26ad534f165498fb89cd528f47bcf89c5bee31f0b1ad"}},{"ruleId":"D2","level":"warning","message":{"text":"FormulaStringParcer.TokenizeFormulaCharacter (cognitive 22): FormulaStringParcer.TokenizeFormulaCharacter has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":287}}}],"partialFingerprints":{"codehealthFindingId/v1":"495ff616a3b78c4a477218a827a7b75ea51ec4cb91ebfff96b36997376ee2aad"}},{"ruleId":"D2","level":"warning","message":{"text":"Normalization.NormalizePQN (cognitive 22): Normalization.NormalizePQN has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/Normalization.vb"},"region":{"startLine":249}}}],"partialFingerprints":{"codehealthFindingId/v1":"7de1c84f7cd69f38b10274767cd856a6e35a19f688f94ab8ec5e18efb7f06457"}},{"ruleId":"D2","level":"warning","message":{"text":"NCAAnalyzer.FitTerminalPhase (cognitive 22): NCAAnalyzer.FitTerminalPhase has cognitive complexity 22 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/PKAnalysis.vb"},"region":{"startLine":317}}}],"partialFingerprints":{"codehealthFindingId/v1":"62070738d9dd84d9e9ad41370249ceb3a3c808aab558fd2365dc9e84b878bbe1"}},{"ruleId":"D2","level":"warning","message":{"text":"MzMath.centroid (cognitive 21): MzMath.centroid has cognitive complexity 21 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/math/Math.vb"},"region":{"startLine":1041}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4384a29b270b4044bfcc06f6fea0d122a98cd89effe0d05d5ac96f13e88a3b9"}},{"ruleId":"D2","level":"warning","message":{"text":"ScanTimeCorrection.ScanMeltdown (cognitive 21): ScanTimeCorrection.ScanMeltdown has cognitive complexity 21 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/MsImaging/ScanTimeCorrection.vb"},"region":{"startLine":125}}}],"partialFingerprints":{"codehealthFindingId/v1":"41d8b5329c7c0aedc147ddc7cab63f3c38ed7f3f080acba1b1d45342f48e3a6f"}},{"ruleId":"D2","level":"warning","message":{"text":"KEGGNetwork.CreateNetwork (cognitive 21): KEGGNetwork.CreateNetwork has cognitive complexity 21 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Models/Networking/KEGGNetwork.vb"},"region":{"startLine":107}}}],"partialFingerprints":{"codehealthFindingId/v1":"33e5499b6325d5b544cffb9ccac5bbbefbbaffe7e0c721a1f3cb4a7bc0dea5a8"}},{"ruleId":"D2","level":"warning","message":{"text":"TreeCluster.Union (cognitive 21): TreeCluster.Union has cognitive complexity 21 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/Tree/TreeCluster.vb"},"region":{"startLine":193}}}],"partialFingerprints":{"codehealthFindingId/v1":"b09423467c38068e29f3479c6a79cda45a878579ab16489457e985d4b39eae19"}},{"ruleId":"D2","level":"warning","message":{"text":"FormalCharge.CorrectChargeEmpirical (cognitive 21): FormalCharge.CorrectChargeEmpirical has cognitive complexity 21 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/FormalCharge.vb"},"region":{"startLine":83}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1fd611b44a0226a4fa37960ae3ee6f6354f65f1e1a6ade59175949ca13f6c5a"}},{"ruleId":"D2","level":"warning","message":{"text":"IsotopeCalculator.getNominalIsotopeElementPropertyForFourIsotopomerElement (cognitive 21): IsotopeCalculator.getNominalIsotopeElementPropertyForFourIsotopomerElement has cognitive complexity 21 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":2262}}}],"partialFingerprints":{"codehealthFindingId/v1":"9fbd1b149f9ce4234e997b7e3500d1d5278d3a3586d1235c5f88f238128787d8"}},{"ruleId":"D2","level":"warning","message":{"text":"RecordIO.__loadSection (cognitive 21): RecordIO.__loadSection has cognitive complexity 21 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/Massbank/RecordIO.vb"},"region":{"startLine":191}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d5304208ae180f0f90e6de4e71b606a08ea56358edcf1b758cd07b71f6c540d"}},{"ruleId":"D2","level":"warning","message":{"text":"FragmentAssigner.GetNeutralLossList (cognitive 21): FragmentAssigner.GetNeutralLossList has cognitive complexity 21 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FragmentAssigner.vb"},"region":{"startLine":397}}}],"partialFingerprints":{"codehealthFindingId/v1":"81d4e56e9994808cd93271c33db6eae5a06bce4bc34701a64dc4de6947b98d67"}},{"ruleId":"D2","level":"warning","message":{"text":"PeakAnalyzer.LocalMaximumPeakDetect (cognitive 21): PeakAnalyzer.LocalMaximumPeakDetect has cognitive complexity 21 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":1235}}}],"partialFingerprints":{"codehealthFindingId/v1":"5db8a354cf974ba75f3f094a6b7780a609ce0dd4dbbb7c8c74b1f4753d51d1e0"}},{"ruleId":"D2","level":"warning","message":{"text":"MzWeb.Ms2ScanPeaks (cognitive 20): MzWeb.Ms2ScanPeaks has cognitive complexity 20 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/MzWeb.vb"},"region":{"startLine":953}}}],"partialFingerprints":{"codehealthFindingId/v1":"37a894abbaa4ac34a5140f39a2bdc04dbfb94df509612a1bf675187ef2c41fbd"}},{"ruleId":"D2","level":"warning","message":{"text":"ReferenceTreePkg.QuerySingle (cognitive 20): ReferenceTreePkg.QuerySingle has cognitive complexity 20 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/pipeline/ReferenceTree.vb"},"region":{"startLine":630}}}],"partialFingerprints":{"codehealthFindingId/v1":"728139733386db896e6cf08a83deb1d1a25071591c29e02c18f41599be8470fb"}},{"ruleId":"D2","level":"warning","message":{"text":"mzDeco.convertDataframeToXcmsPeaks (cognitive 20): mzDeco.convertDataframeToXcmsPeaks has cognitive complexity 20 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/mzDeco.vb"},"region":{"startLine":555}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b32922a2cdad0e7b5d2a8c4dee38d8b653a76733abfddb04ce116425bb421eb"}},{"ruleId":"D2","level":"warning","message":{"text":"FileReader.Load (cognitive 20): FileReader.Load has cognitive complexity 20 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/ASCII/MSL/FileReader.vb"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"5893c05b7125c75f118d834d4fc6c9b8093c59c2072b4c8b3aa53215232a8449"}},{"ruleId":"D2","level":"warning","message":{"text":"XcaliburRawFileIO.GetChromatogramData2D (cognitive 20): XcaliburRawFileIO.GetChromatogramData2D has cognitive complexity 20 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":1000}}}],"partialFingerprints":{"codehealthFindingId/v1":"ebdd07c82fe6389df5800b0f10527487e4a44e579d7b475413e823d696f029af"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfPhytosphingosine (cognitive 20): LipidMsmsCharacterization.JudgeIfPhytosphingosine has cognitive complexity 20 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12231}}}],"partialFingerprints":{"codehealthFindingId/v1":"291c085184feae2d20fb44042eaa777eda8ba34d81eb9e5b4f11f281c4b58bd2"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAnandamide (cognitive 20): LipidMsmsCharacterization.JudgeIfAnandamide has cognitive complexity 20 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfSterolHexoside) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12870}}}],"partialFingerprints":{"codehealthFindingId/v1":"37751350d61314a398594ae3bff5f5f3b23d658b6a48597d3e5304b4123e63a1"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfVitaminEmolecules (cognitive 20): LipidMsmsCharacterization.JudgeIfVitaminEmolecules has cognitive complexity 20 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13486}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b5823d517492b63effc946c055a1863105367d097d1d327ae6ffd79270416ee"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfSterolHexoside (cognitive 20): LipidMsmsCharacterization.JudgeIfSterolHexoside has cognitive complexity 20 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfAnandamide) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13543}}}],"partialFingerprints":{"codehealthFindingId/v1":"000a9fc14302ff25864b996ccec95e295add14c0de2add2c84fa0f7c291688e7"}},{"ruleId":"D2","level":"warning","message":{"text":"CLEidSpectrumGenerator.EidSpecificSpectrum (cognitive 20): CLEidSpectrumGenerator.EidSpecificSpectrum has cognitive complexity 20 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CLEidSpectrumGenerator.vb"},"region":{"startLine":243}}}],"partialFingerprints":{"codehealthFindingId/v1":"78a2d15034a65fa863e3836e9f9ec9c346111257c58de0c73634075f044e9bc5"}},{"ruleId":"D2","level":"warning","message":{"text":"PValue.ComputePValues (cognitive 20): PValue.ComputePValues has cognitive complexity 20 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Mummichog/PValue.vb"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"11eb9e8a1bffa421b28b91fc89e79a854a06ead963909e2a1ded977c89cdbf76"}},{"ruleId":"D2","level":"warning","message":{"text":"ModificationContainer.GetAminoAcidDictionaryUsedInModificationProtocol (cognitive 20): ModificationContainer.GetAminoAcidDictionaryUsedInModificationProtocol has cognitive complexity 20 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/ModificationContainer.vb"},"region":{"startLine":190}}}],"partialFingerprints":{"codehealthFindingId/v1":"ec52073f3126260b0161e02ee9ce40256e49c2e25c94deb5d2795b489643c05b"}},{"ruleId":"D2","level":"warning","message":{"text":"MsScanMatching.GetTotalSimilarity (cognitive 20): MsScanMatching.GetTotalSimilarity has cognitive complexity 20 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":1342}}}],"partialFingerprints":{"codehealthFindingId/v1":"ebe6c413d37e9357c98f4b4bf2eba793b41c64e31ae17047c9d9b1b4438ace15"}},{"ruleId":"D2","level":"warning","message":{"text":"data.XIC (cognitive 19): data.XIC has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/data.vb"},"region":{"startLine":800}}}],"partialFingerprints":{"codehealthFindingId/v1":"5709ce1f725edf34fe77453f369541c5728dfa631adfd926658b202a8d19da7a"}},{"ruleId":"D2","level":"warning","message":{"text":"mzDeco.mz_deco (cognitive 19): mzDeco.mz_deco has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/mzDeco.vb"},"region":{"startLine":1058}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9f520ff3fbe4a3936ed77a7f1f0af9f63e09c4229754bd31502ea75f8dee29d"}},{"ruleId":"D2","level":"warning","message":{"text":"ScanContour.CreateMatrix (cognitive 19): ScanContour.CreateMatrix has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/ChromatogramPlot/ScanContour.vb"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f6a3f0cad1c80bf58af0c547812905bc9f7562cc194b185eb751eb684e41d96"}},{"ruleId":"D2","level":"warning","message":{"text":"MSFileReader.GetLabelData (cognitive 19): MSFileReader.GetLabelData has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/MSFileReader.vb"},"region":{"startLine":156}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b8881be847fa6720c17ed387bbfdad80060ed458b31828f2fcf0471dc6eb685"}},{"ruleId":"D2","level":"warning","message":{"text":"XcaliburRawFileIO.GetScanDataSumScans (cognitive 19): XcaliburRawFileIO.GetScanDataSumScans has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":2367}}}],"partialFingerprints":{"codehealthFindingId/v1":"daeaa8a152363e2699486740dcb7994c533b5046e6c6323bd9ad7ac123136658"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidLibraryParser.ReadLibrary (cognitive 19): LipidLibraryParser.ReadLibrary has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Lipidomics.vb"},"region":{"startLine":677}}}],"partialFingerprints":{"codehealthFindingId/v1":"654997d5fddf5a7fbb366b3b67f4f36ad4854d7c7e83d50cbf20e0839ae37605"}},{"ruleId":"D2","level":"warning","message":{"text":"EieioMsCharacterizationUtility.GetDefaultScore (cognitive 19): EieioMsCharacterizationUtility.GetDefaultScore has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/EieioMsCharacterizationUtility.vb"},"region":{"startLine":381}}}],"partialFingerprints":{"codehealthFindingId/v1":"be3548bf2ed7b888410479ab48ebeb35c819998ae021382497ef8c5c7bf2b0ca"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCardiolipin (cognitive 19): LipidMsmsCharacterization.JudgeIfCardiolipin has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7428}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f33c225d1655a003a8e19bde787b239e00564b1f3df42e566c506c5d5f5aa5e"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAhexbrseSpecies (cognitive 19): LipidMsmsCharacterization.JudgeIfAhexbrseSpecies has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: 4 other methods here (LipidMsmsCharacterization.JudgeIfAhexcaseSpecies, LipidMsmsCharacterization.JudgeIfAhexceSpecies, LipidMsmsCharacterization.JudgeIfAhexsiseSpecies, \u2026) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 5 times rather than 5 independent problems. Splitting this body alone leaves the other 4 exactly as they are. Where these are variations on one operation, the change that clears all 5 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13866}}}],"partialFingerprints":{"codehealthFindingId/v1":"e3f203f9246bda29c9eca4ab5bb67fa627dac544bb3b137afc9df87f7b1623d8"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAhexcaseSpecies (cognitive 19): LipidMsmsCharacterization.JudgeIfAhexcaseSpecies has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: 4 other methods here (LipidMsmsCharacterization.JudgeIfAhexbrseSpecies, LipidMsmsCharacterization.JudgeIfAhexceSpecies, LipidMsmsCharacterization.JudgeIfAhexsiseSpecies, \u2026) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 5 times rather than 5 independent problems. Splitting this body alone leaves the other 4 exactly as they are. Where these are variations on one operation, the change that clears all 5 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13908}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f133e661a6ef64af38bb95791d4577a92e073ec9d90e919dd066de0d77b2688"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAhexceSpecies (cognitive 19): LipidMsmsCharacterization.JudgeIfAhexceSpecies has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: 4 other methods here (LipidMsmsCharacterization.JudgeIfAhexbrseSpecies, LipidMsmsCharacterization.JudgeIfAhexcaseSpecies, LipidMsmsCharacterization.JudgeIfAhexsiseSpecies, \u2026) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 5 times rather than 5 independent problems. Splitting this body alone leaves the other 4 exactly as they are. Where these are variations on one operation, the change that clears all 5 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13950}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b334196e73efc717cf9574129cbd23bb0c5f401fe48593173ad901fe9ea653b"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAhexsiseSpecies (cognitive 19): LipidMsmsCharacterization.JudgeIfAhexsiseSpecies has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: 4 other methods here (LipidMsmsCharacterization.JudgeIfAhexbrseSpecies, LipidMsmsCharacterization.JudgeIfAhexcaseSpecies, LipidMsmsCharacterization.JudgeIfAhexceSpecies, \u2026) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 5 times rather than 5 independent problems. Splitting this body alone leaves the other 4 exactly as they are. Where these are variations on one operation, the change that clears all 5 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13992}}}],"partialFingerprints":{"codehealthFindingId/v1":"bfc17bea1624a186172baf7756104d1676f50627cbe50eb1e87f35cf5caafec0"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfAhexstseSpecies (cognitive 19): LipidMsmsCharacterization.JudgeIfAhexstseSpecies has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: 4 other methods here (LipidMsmsCharacterization.JudgeIfAhexbrseSpecies, LipidMsmsCharacterization.JudgeIfAhexcaseSpecies, LipidMsmsCharacterization.JudgeIfAhexceSpecies, \u2026) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 5 times rather than 5 independent problems. Splitting this body alone leaves the other 4 exactly as they are. Where these are variations on one operation, the change that clears all 5 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14034}}}],"partialFingerprints":{"codehealthFindingId/v1":"e36acbc40870b8ca204d40b718a3dc96cd7b06d075309e71d99982d2df6116ae"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfnoChainSterol (cognitive 19): LipidMsmsCharacterization.JudgeIfnoChainSterol has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14234}}}],"partialFingerprints":{"codehealthFindingId/v1":"f10893bf2f1bce2c81fc13dd84731108a7044206e46363b71d82f0255e6089a1"}},{"ruleId":"D2","level":"warning","message":{"text":"Omega3nChainGenerator.GenerateDoubleBondsForSphingosine (cognitive 19): Omega3nChainGenerator.GenerateDoubleBondsForSphingosine has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Omega3nChainGenerator.vb"},"region":{"startLine":203}}}],"partialFingerprints":{"codehealthFindingId/v1":"6de0e806289c161429858fa14ab5916d36271ba6c5bf413e7bbc05e21fa725f6"}},{"ruleId":"D2","level":"warning","message":{"text":"Scanner.MeasureElement (cognitive 19): Scanner.MeasureElement has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/Language/Scanner.vb"},"region":{"startLine":327}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d2e25fd63648ea626872663f56aa75872a826855f60360c6dd9313a16243e21"}},{"ruleId":"D2","level":"warning","message":{"text":"ParseChain.WalkElement (cognitive 19): ParseChain.WalkElement has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/ParseChain.vb"},"region":{"startLine":221}}}],"partialFingerprints":{"codehealthFindingId/v1":"f31a8b4e50bf41862ff5c9bbb27c576b13ced67ba6bdb5417822c0f1e21480eb"}},{"ruleId":"D2","level":"warning","message":{"text":"LibraryWorkspace.ReadWithHandleConflicts (cognitive 19): LibraryWorkspace.ReadWithHandleConflicts has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/AnnotationPack/WorkspaceReader.vb"},"region":{"startLine":253}}}],"partialFingerprints":{"codehealthFindingId/v1":"5953504e0e7141f4692c7db7c4e574fb49c3c0e7d17be1b608e72983af22031d"}},{"ruleId":"D2","level":"warning","message":{"text":"FragmentAssigner.FastFragmnetAssigner (cognitive 19): FragmentAssigner.FastFragmnetAssigner has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FragmentAssigner.vb"},"region":{"startLine":218}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b3cf1b6492b7190beac0714c81e2a8a75b2cb32b15906a6f2c23db7aa98160c"}},{"ruleId":"D2","level":"warning","message":{"text":"PeakAlignments.RIAlignment (cognitive 19): PeakAlignments.RIAlignment has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/PeakAlignment.vb"},"region":{"startLine":116}}}],"partialFingerprints":{"codehealthFindingId/v1":"16a9c11f61ebc25556cc6410191301c3688a357ff670a34326c284a238a30afe"}},{"ruleId":"D2","level":"warning","message":{"text":"BatchCorrection.CorrectMeanCentering (cognitive 19): BatchCorrection.CorrectMeanCentering has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/BatchCorrection.vb"},"region":{"startLine":128}}}],"partialFingerprints":{"codehealthFindingId/v1":"be74a9b3bb84552b13e760afe6b502dad34595f120316a40fc9741e7d4c9e13a"}},{"ruleId":"D2","level":"warning","message":{"text":"BatchCorrection.CorrectQCRLSC (cognitive 19): BatchCorrection.CorrectQCRLSC has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/BatchCorrection.vb"},"region":{"startLine":235}}}],"partialFingerprints":{"codehealthFindingId/v1":"4075807499e7e2ca9da035a4d4a42f00ccb9b65afb1a7a3daa73fe4d49f115dd"}},{"ruleId":"D2","level":"warning","message":{"text":"LCMSPreprocessor.Process (cognitive 19): LCMSPreprocessor.Process has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/LCMSPreprocessor.vb"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"df51cdb6b07068b461295c5981433cc803b6c0b1b43180b2c66113f179b290dc"}},{"ruleId":"D2","level":"warning","message":{"text":"WiffScanFileReader.loadScan (cognitive 19): WiffScanFileReader.loadScan has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/sciexWiffReader/WiffFileReader/WiffScanFileReader.vb"},"region":{"startLine":277}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca43e2a3bd6070d4255c9aaf05c5a01237791ae7a1f730afc64e994f2e46ea85"}},{"ruleId":"D2","level":"warning","message":{"text":"SpectralPreprocessor.PolynomialBaselineCorrect (cognitive 19): SpectralPreprocessor.PolynomialBaselineCorrect has cognitive complexity 19 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":439}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe129658215dd6ccf6e207257f936927421c37bf463e1ae4463be860c763b94a"}},{"ruleId":"D2","level":"warning","message":{"text":"MetaDbXref.makeUniqueQuery (cognitive 18): MetaDbXref.makeUniqueQuery has cognitive complexity 18 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/MetaDbXref.vb"},"region":{"startLine":697}}}],"partialFingerprints":{"codehealthFindingId/v1":"10a1c056e14c5d6568d75b289f97bc7de116bb27f5ec9587aacbc61810d3fb2d"}},{"ruleId":"D2","level":"warning","message":{"text":"Assembly.ionMode (cognitive 18): Assembly.ionMode has cognitive complexity 18 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/Assembly.vb"},"region":{"startLine":503}}}],"partialFingerprints":{"codehealthFindingId/v1":"73f2d9e5f663b6b17083f952ff0a19460868d37b99022ec1f2497ec2660a3b20"}},{"ruleId":"D2","level":"warning","message":{"text":"Assembly.getMs1Scans (cognitive 18): Assembly.getMs1Scans has cognitive complexity 18 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/Assembly.vb"},"region":{"startLine":553}}}],"partialFingerprints":{"codehealthFindingId/v1":"c93134bb2879cab49aadad966370cc163c900eefbec9427c5040c9b26bbc115b"}},{"ruleId":"D2","level":"warning","message":{"text":"FormulaTools.peakAnnotation_f (cognitive 18): FormulaTools.peakAnnotation_f has cognitive complexity 18 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/math/Formula.vb"},"region":{"startLine":214}}}],"partialFingerprints":{"codehealthFindingId/v1":"0747f8148a77c18d9c77c1434e1f3ebb057554c22809a800763562b60bd84388"}},{"ruleId":"D2","level":"warning","message":{"text":"TreeSearch.Search (cognitive 18): TreeSearch.Search has cognitive complexity 18 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Query/TreeSearch.vb"},"region":{"startLine":209}}}],"partialFingerprints":{"codehealthFindingId/v1":"3537db9bb882756cdef0ac911596c53cff541a5cd8f9c4696d0298b15c8f83d0"}},{"ruleId":"D2","level":"warning","message":{"text":"SoftenScaler.PopulateRectangle (cognitive 18): SoftenScaler.PopulateRectangle has cognitive complexity 18 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Scaler/SoftenScaler.vb"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f778e5f98e6aaefb43cf5851597a2eff06cd71b96e809c7cad1b6e3634f8f89"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfBismonoacylglycerophosphate (cognitive 18): LipidEieioMsmsCharacterization.JudgeIfBismonoacylglycerophosphate has cognitive complexity 18 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":679}}}],"partialFingerprints":{"codehealthFindingId/v1":"44c7e4e1415266ef74f959f3817c6ca8d71d288283c435d798c96d93b1f1f673"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfWaxEster (cognitive 18): LipidMsmsCharacterization.JudgeIfWaxEster has cognitive complexity 18 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":16696}}}],"partialFingerprints":{"codehealthFindingId/v1":"32c541ebb67097f2fe3ae5137575a130c043e34e1fea6a34a40787e3004e0326"}},{"ruleId":"D2","level":"warning","message":{"text":"BondPosition.ParseStructure (cognitive 18): BondPosition.ParseStructure has cognitive complexity 18 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Lipid/BondPosition.vb"},"region":{"startLine":75}}}],"partialFingerprints":{"codehealthFindingId/v1":"db923eae5c9b7dc46febc606560a63b976810a2c6046c250c61e66ad1b6855b7"}},{"ruleId":"D2","level":"warning","message":{"text":"Atom.ensureValidFormat (cognitive 18): Atom.ensureValidFormat has cognitive complexity 18 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/SDF/Struct/Atom.vb"},"region":{"startLine":157}}}],"partialFingerprints":{"codehealthFindingId/v1":"678e2723f35b99e812026954e20f4c410cdb8bac7d7af92cf1e7be5dcd48b5ae"}},{"ruleId":"D2","level":"warning","message":{"text":"MetaInfoReader.GetBiosampleList (cognitive 18): MetaInfoReader.GetBiosampleList has cognitive complexity 18 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/MetaInfoReader.vb"},"region":{"startLine":295}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a6782b7d178eba7d51fa19cc33852742dae5da27e98a74de7dbcb47022853bd"}},{"ruleId":"D2","level":"warning","message":{"text":"MathHelpers.LOESS (cognitive 18): MathHelpers.LOESS has cognitive complexity 18 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MathHelpers.vb"},"region":{"startLine":672}}}],"partialFingerprints":{"codehealthFindingId/v1":"65f609d40450f62bc4b1251931b476f8ef4da4ec2d5b76f7ddb23ece3eb35793"}},{"ruleId":"D2","level":"warning","message":{"text":"MissingValueImputation.MarkMissingValues (cognitive 18): MissingValueImputation.MarkMissingValues has cognitive complexity 18 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":68}}}],"partialFingerprints":{"codehealthFindingId/v1":"12a0123ca5843e0a6c57e414278d70fd196e76e00cc45fde46d522cd6458259e"}},{"ruleId":"D2","level":"warning","message":{"text":"DataFile.CreateQuantifyData (cognitive 18): DataFile.CreateQuantifyData has cognitive complexity 18 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/Models/DataFile.vb"},"region":{"startLine":117}}}],"partialFingerprints":{"codehealthFindingId/v1":"196e2106f289b49ad5e1c0effa37e4584ec2d2605693a94dd6c083138ffc2174"}},{"ruleId":"D2","level":"warning","message":{"text":"PeakAnalyzer.DerivativePeakDetect (cognitive 18): PeakAnalyzer.DerivativePeakDetect has cognitive complexity 18 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":1137}}}],"partialFingerprints":{"codehealthFindingId/v1":"3473083d8fe24cb2a1042be3ca4486b7d6cd4b01f8cc17c03c73a407b4f1134a"}},{"ruleId":"D2","level":"warning","message":{"text":"TableFromXICData.Solve (cognitive 17): TableFromXICData.Solve has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/mzDeco.vb"},"region":{"startLine":1478}}}],"partialFingerprints":{"codehealthFindingId/v1":"29489519b7df495b5b53c633b023b39f867c86651035aa3ce91f25ad7ac0de6c"}},{"ruleId":"D2","level":"warning","message":{"text":"mzDeco.peakAlignment_func (cognitive 17): mzDeco.peakAlignment_func has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/mzDeco.vb"},"region":{"startLine":1653}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe79f1295d6bbbed45a29e2aab7b061fbadfdcaaa0577bc5d8ea0b78a1de206b"}},{"ruleId":"D2","level":"warning","message":{"text":"FileReader.ParseTextFile (cognitive 17): FileReader.ParseTextFile has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/ASCII/Raman/FileReader.vb"},"region":{"startLine":96}}}],"partialFingerprints":{"codehealthFindingId/v1":"ccfb09a4bb8d1cc7bad76469a0ff29e78dd4b2228c117b798de026bd9166dd95"}},{"ruleId":"D2","level":"warning","message":{"text":"DualRegionUnionPlot.DrawColorBar (cognitive 17): DualRegionUnionPlot.DrawColorBar has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Plot/DualRegionUnionPlot.vb"},"region":{"startLine":241}}}],"partialFingerprints":{"codehealthFindingId/v1":"6715eaea8b909ab30baea9c0656d4925a9ddcc4f6c14f5038e06023db25bde52"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidomicsConverter.setChainPropertiesVS2 (cognitive 17): LipidomicsConverter.setChainPropertiesVS2 has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb"},"region":{"startLine":3285}}}],"partialFingerprints":{"codehealthFindingId/v1":"5cc17e148116cf8c376fbbe13ae6f702a0224e4a77bdcff47344b027f0d305d1"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfSphingosine (cognitive 17): LipidEieioMsmsCharacterization.JudgeIfSphingosine has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1772}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d2bc741eae5d0652ecded1488d855963bef43a14f575a359cb4c5d2ad4dc345"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLysopg (cognitive 17): LipidMsmsCharacterization.JudgeIfLysopg has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: 3 other methods here (LipidMsmsCharacterization.JudgeIfLysops, LipidMsmsCharacterization.JudgeIfLysopgD5, LipidMsmsCharacterization.JudgeIfLysopsD5) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 4 times rather than 4 independent problems. Splitting this body alone leaves the other 3 exactly as they are. Where these are variations on one operation, the change that clears all 4 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5717}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ccfc9317a654fad65726fe1395b7e4213445e1708b0a1b3b5a99a6150b8bbca"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLysopi (cognitive 17): LipidMsmsCharacterization.JudgeIfLysopi has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfLysopiD5) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5759}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a31272ca7f1978741fca799ef8224537e4f8c883d6e2994a4e9775ed391fef8"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLysops (cognitive 17): LipidMsmsCharacterization.JudgeIfLysops has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: 3 other methods here (LipidMsmsCharacterization.JudgeIfLysopg, LipidMsmsCharacterization.JudgeIfLysopgD5, LipidMsmsCharacterization.JudgeIfLysopsD5) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 4 times rather than 4 independent problems. Splitting this body alone leaves the other 3 exactly as they are. Where these are variations on one operation, the change that clears all 4 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5802}}}],"partialFingerprints":{"codehealthFindingId/v1":"061e157557173ef87f530009f93c6d1b983027c6ed7cd90e17dc73d4467703af"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfOxfattyacid (cognitive 17): LipidMsmsCharacterization.JudgeIfOxfattyacid has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7706}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8fe0160f2d088c0001051572dee172d4e723a648b5640b3e729ac2ae6a6264f"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfSphingosine (cognitive 17): LipidMsmsCharacterization.JudgeIfSphingosine has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12178}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ef1801cdc711637538b1b6548ab5e924104d9ea692468bd714da38239e72fdd"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfVitaminDmolecules (cognitive 17): LipidMsmsCharacterization.JudgeIfVitaminDmolecules has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13513}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5ba15b3481437405f80e26f4f4eaf82e93541b7a01940e754de3d64e7ffb757"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLysopgD5 (cognitive 17): LipidMsmsCharacterization.JudgeIfLysopgD5 has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: 3 other methods here (LipidMsmsCharacterization.JudgeIfLysopg, LipidMsmsCharacterization.JudgeIfLysops, LipidMsmsCharacterization.JudgeIfLysopsD5) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 4 times rather than 4 independent problems. Splitting this body alone leaves the other 3 exactly as they are. Where these are variations on one operation, the change that clears all 4 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15899}}}],"partialFingerprints":{"codehealthFindingId/v1":"a826a3b527e6fb64bf60ae637e51c245745df4f3a9bc7c83a4a165cb95fc64b7"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLysopiD5 (cognitive 17): LipidMsmsCharacterization.JudgeIfLysopiD5 has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidMsmsCharacterization.JudgeIfLysopi) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15941}}}],"partialFingerprints":{"codehealthFindingId/v1":"9fdd631beffc701a2caca05720b935fabb63379fc197b9aad3c443bffa128059"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfLysopsD5 (cognitive 17): LipidMsmsCharacterization.JudgeIfLysopsD5 has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: 3 other methods here (LipidMsmsCharacterization.JudgeIfLysopg, LipidMsmsCharacterization.JudgeIfLysops, LipidMsmsCharacterization.JudgeIfLysopgD5) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 4 times rather than 4 independent problems. Splitting this body alone leaves the other 3 exactly as they are. Where these are variations on one operation, the change that clears all 4 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15984}}}],"partialFingerprints":{"codehealthFindingId/v1":"f89c3cd7be07de5350529bb4242056abe8680679a241f0cafc90716919ce8cd6"}},{"ruleId":"D2","level":"warning","message":{"text":"PCEidSpectrumGenerator.EidSpecificSpectrum (cognitive 17): PCEidSpectrumGenerator.EidSpecificSpectrum has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PCEidSpectrumGenerator.vb"},"region":{"startLine":172}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e29b5d49fb7f081e81bc663e682dfaae8461f032cc9ae76d068f646d2783c0a"}},{"ruleId":"D2","level":"warning","message":{"text":"MummichogAnnotator.New.ctor (cognitive 17): MummichogAnnotator.New.ctor has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Mummichog/MummichogModule.vb"},"region":{"startLine":104}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b2a02dd3ca1fabc30ed5ca484f081defa8ce9a107c12e7ed233765dfda7f5fc"}},{"ruleId":"D2","level":"warning","message":{"text":"BatchCorrection.CorrectLOESS (cognitive 17): BatchCorrection.CorrectLOESS has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/BatchCorrection.vb"},"region":{"startLine":297}}}],"partialFingerprints":{"codehealthFindingId/v1":"a215dba86d2e61ca6b234c3fd930bc45b83a157ef237bbc40b48034d89daa55d"}},{"ruleId":"D2","level":"warning","message":{"text":"RICalibrate.ConvertRI (cognitive 17): RICalibrate.ConvertRI has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/RICalibrate.vb"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"57bc91a390ff79bb7b698ab175c01d1bfc3cba2d2e149b22254b785fdb588e9c"}},{"ruleId":"D2","level":"warning","message":{"text":"NoiseEstimator.EstimateByPeakValley (cognitive 17): NoiseEstimator.EstimateByPeakValley has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/NoiseEstimator.vb"},"region":{"startLine":98}}}],"partialFingerprints":{"codehealthFindingId/v1":"9755e088fc325827d569141f7fdc6c3aeef0784f31fb43c106fb24ba754477f0"}},{"ruleId":"D2","level":"warning","message":{"text":"PeakDetector.EstimateAsymmetryFactor (cognitive 17): PeakDetector.EstimateAsymmetryFactor has cognitive complexity 17 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakDetector.vb"},"region":{"startLine":545}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e9256c91f086f6e97d637ac18aa8e125951b294038368ce5c7c3b037ad48bd6"}},{"ruleId":"D2","level":"warning","message":{"text":"MSI.SampleBootstraping (cognitive 16): MSI.SampleBootstraping has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/comprehensive/MSI.vb"},"region":{"startLine":1939}}}],"partialFingerprints":{"codehealthFindingId/v1":"46b54f8047aa65e911432facdc0b08434771ee53a6f575d2e5e5673153a036ec"}},{"ruleId":"D2","level":"warning","message":{"text":"Visual.SpectrumPlot (cognitive 16): Visual.SpectrumPlot has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzplot/src/Visual.vb"},"region":{"startLine":819}}}],"partialFingerprints":{"codehealthFindingId/v1":"87ffde920b5af3c8da26d8e3925443fee25acf082c7a436f0f6724973bd8300d"}},{"ruleId":"D2","level":"warning","message":{"text":"mzDeco.find_peaks (cognitive 16): mzDeco.find_peaks has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/mzDeco.vb"},"region":{"startLine":1203}}}],"partialFingerprints":{"codehealthFindingId/v1":"4cf9cb12521419f81f3cecaf4ef2f443970e905fa1d3ad808423957f87e6bd5f"}},{"ruleId":"D2","level":"warning","message":{"text":"PackSingleCellsRaw.PackRawData (cognitive 16): PackSingleCellsRaw.PackRawData has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/SingleCells/PackSingleCellsRaw.vb"},"region":{"startLine":80}}}],"partialFingerprints":{"codehealthFindingId/v1":"99c91fd63ef2590e844f0fa7f1fa8f4d68ca1d90971fb187078ed4c5f0ed168d"}},{"ruleId":"D2","level":"warning","message":{"text":"Proc.New.ctor (cognitive 16): Proc.New.ctor has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Proc.vb"},"region":{"startLine":149}}}],"partialFingerprints":{"codehealthFindingId/v1":"9eac0a37e1383788676b7a0b85d5eb18ab5abce7abf3bf5918c083f1daf2d7c4"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMassLibraryGenerator.commonCeramideOxGenerator (cognitive 16): LipidMassLibraryGenerator.commonCeramideOxGenerator has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb"},"region":{"startLine":1177}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb6945b013dc7e8170939603dafe1f0ccc47130288662c3e219c8c1b1ed911da"}},{"ruleId":"D2","level":"warning","message":{"text":"MsScanMatching.GetLipidMoleculerSpeciesLevelAnnotationResultForEIEIO (cognitive 16): MsScanMatching.GetLipidMoleculerSpeciesLevelAnnotationResultForEIEIO has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (MsScanMatching.GetLipidMoleculeAnnotationResult) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":289}}}],"partialFingerprints":{"codehealthFindingId/v1":"137fedb3783b3496409c3fd697d40c76b3559b637fb2627addb11619bb5a7780"}},{"ruleId":"D2","level":"warning","message":{"text":"MsScanMatching.GetLipidMoleculeAnnotationResult (cognitive 16): MsScanMatching.GetLipidMoleculeAnnotationResult has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (MsScanMatching.GetLipidMoleculerSpeciesLevelAnnotationResultForEIEIO) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":871}}}],"partialFingerprints":{"codehealthFindingId/v1":"28f8e5415183b6c3ef1c9fb9fee1d8eebcca2c058e5ddcce92dc7067d2032747"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfCholesterylEster (cognitive 16): LipidEieioMsmsCharacterization.JudgeIfCholesterylEster has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfCholesterylEsterD7) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2021}}}],"partialFingerprints":{"codehealthFindingId/v1":"362c82284963b565260164df02c6927da25d7439f89e73713d649ca96f4eacd1"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidEieioMsmsCharacterization.JudgeIfCholesterylEsterD7 (cognitive 16): LipidEieioMsmsCharacterization.JudgeIfCholesterylEsterD7 has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (LipidEieioMsmsCharacterization.JudgeIfCholesterylEster) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3496}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f02f99b86f2791f22c79dcd79b5f40bfcbbe3c58960a4b4108afa5f18644ab2"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfDmedOxfattyacid (cognitive 16): LipidMsmsCharacterization.JudgeIfDmedOxfattyacid has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7760}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d88da61366aad0c52493e6b6e8466705a8ee40aa85974d780a521bfe6741511"}},{"ruleId":"D2","level":"warning","message":{"text":"LipidMsmsCharacterization.JudgeIfCaseSpecies (cognitive 16): LipidMsmsCharacterization.JudgeIfCaseSpecies has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13726}}}],"partialFingerprints":{"codehealthFindingId/v1":"24f262e0e65bd38a4f063d630b5a2aca8b7694519b2486af1864a2b0fd9e3bb9"}},{"ruleId":"D2","level":"warning","message":{"text":"SpectrumGrid.Clustering (cognitive 16): SpectrumGrid.Clustering has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumGrid/SpectrumGrid.vb"},"region":{"startLine":133}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ca8e0d92697a2b5c23495b52f9c7407f01ebabc0b01147fa2ac7c23807fec5f"}},{"ruleId":"D2","level":"warning","message":{"text":"SMILESEmbedding.StructureDocuments (cognitive 16): SMILESEmbedding.StructureDocuments has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_simulator/SMILESEmbedding.vb"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"af52a6c5ff7ff6e947ada73b294efee0fa25e6a3d409917197624b2ee76d555a"}},{"ruleId":"D2","level":"warning","message":{"text":"MummichogAnnotator.MatchPeaksToLibrary (cognitive 16): MummichogAnnotator.MatchPeaksToLibrary has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Mummichog/MummichogModule.vb"},"region":{"startLine":318}}}],"partialFingerprints":{"codehealthFindingId/v1":"92bf29ee823b24dd488f0161dfcfafb788577aa65b036e22636c6572a4584f8a"}},{"ruleId":"D2","level":"warning","message":{"text":"Canonical.BuildCanonicalFormula (cognitive 16): Canonical.BuildCanonicalFormula has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Models/Canonical.vb"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"c554b7d3ff44404a0aa56416d4a51e832dd3c73807077fafbc702e9f8135ff37"}},{"ruleId":"D2","level":"warning","message":{"text":"Formula.CompareFormalCharge (cognitive 16): Formula.CompareFormalCharge has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Models/Formula.vb"},"region":{"startLine":315}}}],"partialFingerprints":{"codehealthFindingId/v1":"c8b6d2d2f18b282692138a04b86642094fdc55d502cf7520c70710cc1c8b4d7f"}},{"ruleId":"D2","level":"warning","message":{"text":"MetaData.EqualsAny (cognitive 16): MetaData.EqualsAny has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/lipidMAPS/SDF.vb"},"region":{"startLine":151}}}],"partialFingerprints":{"codehealthFindingId/v1":"597aae54f51f255834fd086f56ac2562d2e33f47009e0a5c0ca164a1bbfe4a2c"}},{"ruleId":"D2","level":"warning","message":{"text":"Statistics.HMDBCoverages (cognitive 16): Statistics.HMDBCoverages has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Statistics.vb"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"d03eed4be8f6f88ef3df625da17a9b3294c8ee821159210c4b8b064c6cd9c214"}},{"ruleId":"D2","level":"warning","message":{"text":"FormulaBuilder.WalkElement (cognitive 16): FormulaBuilder.WalkElement has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/FormulaBuilder.vb"},"region":{"startLine":116}}}],"partialFingerprints":{"codehealthFindingId/v1":"cebf159589c9303a7513a7d821ee74c235b06fe1e36fe054f92a7e0b69bdc293"}},{"ruleId":"D2","level":"warning","message":{"text":"ChemicalFormula.Decomposition (cognitive 16): ChemicalFormula.Decomposition has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/Graph/ChemicalFormula.vb"},"region":{"startLine":132}}}],"partialFingerprints":{"codehealthFindingId/v1":"511fa4859255c24692a90b3737cc4a386cbbb9d1b61a73bc7b828b6f717d8b2a"}},{"ruleId":"D2","level":"warning","message":{"text":"PeptideCalc.GetAminoAcidByFixedModifications (cognitive 16): PeptideCalc.GetAminoAcidByFixedModifications has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (PeptideCalc.GetAminoAcidByVariableModifications) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/PeptideCalc.vb"},"region":{"startLine":169}}}],"partialFingerprints":{"codehealthFindingId/v1":"7de6cf29170b01a78d9dc3e7b44f771a7921ecf89805f7735c840fb1596b3904"}},{"ruleId":"D2","level":"warning","message":{"text":"PeptideCalc.GetAminoAcidByVariableModifications (cognitive 16): PeptideCalc.GetAminoAcidByVariableModifications has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (PeptideCalc.GetAminoAcidByFixedModifications) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/PeptideCalc.vb"},"region":{"startLine":390}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a4e3215dd88a64e4721e3ca280627b2d8b98120f99674d763cd11987c00dc36"}},{"ruleId":"D2","level":"warning","message":{"text":"MsScanMatching.GetTotalSimilarity (cognitive 16): MsScanMatching.GetTotalSimilarity has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":1168}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0f77285a535674a3d9db4704a3aadbf00e6f1892c8d696637811cd1a9ae5052"}},{"ruleId":"D2","level":"warning","message":{"text":"SpectrumHandler.GetNormalizedPeak4SpectralEntropySimilarityCalc (cognitive 16): SpectrumHandler.GetNormalizedPeak4SpectralEntropySimilarityCalc has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/SpectrumHandler.vb"},"region":{"startLine":201}}}],"partialFingerprints":{"codehealthFindingId/v1":"1354f5c49d433d75d8b8fbaadfdef28bf4af0f86974961dc44df824ddc590b8c"}},{"ruleId":"D2","level":"warning","message":{"text":"SpectrumHandler.GetRefinedPeaklist (cognitive 16): SpectrumHandler.GetRefinedPeaklist has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/SpectrumHandler.vb"},"region":{"startLine":229}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ac19b80a04c75e98f4996d19e03f3ba309f02f7c81cdc8df49d900345168fab"}},{"ruleId":"D2","level":"warning","message":{"text":"BatchCorrection.CorrectMedianCentering (cognitive 16): BatchCorrection.CorrectMedianCentering has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/BatchCorrection.vb"},"region":{"startLine":177}}}],"partialFingerprints":{"codehealthFindingId/v1":"0cb9e8fd12a6df7a5a15ad1f9fca9e92fa43d41d17903fdc175bf079bad8e01d"}},{"ruleId":"D2","level":"warning","message":{"text":"MissingValueImputation.ImputeMean (cognitive 16): MissingValueImputation.ImputeMean has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (MissingValueImputation.ImputeMedian) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":244}}}],"partialFingerprints":{"codehealthFindingId/v1":"06fd1498c64d20236f6286fd3a105e0693ef136ec485e959c654f70abc247c44"}},{"ruleId":"D2","level":"warning","message":{"text":"MissingValueImputation.ImputeMedian (cognitive 16): MissingValueImputation.ImputeMedian has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function. This shape REPEATS in the file: one other method here (MissingValueImputation.ImputeMean) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":274}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc72f1e425fc7730e566993945f90413cb8f422b7cb6fe5706df784b7fbf42c9"}},{"ruleId":"D2","level":"warning","message":{"text":"SaveXcms.ReadTextTable (cognitive 16): SaveXcms.ReadTextTable has cognitive complexity 16 (threshold 15). To reduce it, flatten the nesting: invert conditions into early returns or guard clauses so the happy path stays at one level, and lift the deepest nested block into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Save/SaveXcms.vb"},"region":{"startLine":80}}}],"partialFingerprints":{"codehealthFindingId/v1":"0de64cf67dca9cf810d02c4a09c95e0f1053d15980cb012797ccc4bb36102527"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: MsCharacterization/MsmsCharacterization.vb: FileTooLong \u2014 11810 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 11310 over it, 23.62\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ed83aa3103262b86cd1be4fdc20b7ca9451e2deb8e5a9232d4fcc1c1b18c49a"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: LipidMsmsCharacterization: TooManyMethods \u2014 10447 significant lines (blank, comment-only and punctuation-only lines excluded), 181 methods. The bar is 30 methods; this is 151 over it, 6.03\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"985f67271c278ee684723996ea4005afee77311d197cd8067f4efea6774e56fe"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: MsCharacterization/LipidEieioMsmsCharacterization.vb: FileTooLong \u2014 2719 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 2219 over it, 5.44\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2af2d89877fe28c2fbb6feb822c7d2e0a96704d8bb15299740ad6f2c6974ab7"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidomicsConverter.ConvertMsdialClassDefinitionToSuperClassVS2: MethodTooLong \u2014 ConvertMsdialClassDefinitionToSuperClassVS2 runs 478 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 378 over it, 4.78\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb"},"region":{"startLine":5042}}}],"partialFingerprints":{"codehealthFindingId/v1":"873eb646fa8162e5213fddd247ef6b91ab0833550e770e81373ac3ac270c0a8d"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidomicsConverter.ConvertMsdialClassDefinitionToLbmClassEnumVS2: MethodTooLong \u2014 ConvertMsdialClassDefinitionToLbmClassEnumVS2 runs 470 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 370 over it, 4.70\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb"},"region":{"startLine":4356}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa4af295ada7005bc4fb106c6fd123f0b413f078c04f89a3d563e17fd0805426"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: LipidomicsConverter: ClassTooLong \u2014 1784 significant lines (blank, comment-only and punctuation-only lines excluded), 22 methods. The bar is 400 significant lines; this is 1384 over it, 4.46\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"27bf38b27f750e71f9dcfc3ffcfdb357f9f8364cb6e1f627b85f02d5b36fe111"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipoqualityRest.getLqUrl: MethodTooLong \u2014 getLqUrl runs 440 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 340 over it, 4.40\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityRest.vb"},"region":{"startLine":93}}}],"partialFingerprints":{"codehealthFindingId/v1":"88402f2dff29e0a0541be15694397529bd50546369eecaeddf31938830859784"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: MsScanMatching.GetLipidMoleculerSpeciesLevelAnnotationResultForEIEIO: MethodTooLong \u2014 GetLipidMoleculerSpeciesLevelAnnotationResultForEIEIO runs 431 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 331 over it, 4.31\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":289}}}],"partialFingerprints":{"codehealthFindingId/v1":"73755d77a04793338dfef7d63275c9d7c32cce1016d793cbe6454651f03688b4"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: MsScanMatching.GetLipidMoleculeAnnotationResult: MethodTooLong \u2014 GetLipidMoleculeAnnotationResult runs 431 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 331 over it, 4.31\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":871}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab647fb565fb20beea9aea1e366ef058c3dd0b045fb9756315e936ca5a601e42"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: LipidMassLibraryGenerator: TooManyMethods \u2014 1048 significant lines (blank, comment-only and punctuation-only lines excluded), 125 methods. The bar is 30 methods; this is 95 over it, 4.17\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"74f379a185a8beb77ffaf4dd8d03884d5afa97ee812ef1204712fc96981710be"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidAnnotation.Characterize: MethodTooLong \u2014 Characterize runs 415 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 315 over it, 4.15\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Lipidomics.vb"},"region":{"startLine":148}}}],"partialFingerprints":{"codehealthFindingId/v1":"24f00fe1771b2463d3d21c6d1d80b76c022735c2714919c0946cbfcc079acb41"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidomicsConverter.ConvertLbmClassEnumToMsdialClassDefinitionVS2: MethodTooLong \u2014 ConvertLbmClassEnumToMsdialClassDefinitionVS2 runs 402 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 302 over it, 4.02\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb"},"region":{"startLine":3749}}}],"partialFingerprints":{"codehealthFindingId/v1":"39371e70160573814e976800c034c54a011aa23a9814812568a0f83246c78809"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Annotation/LipidomicsConverter.vb: FileTooLong \u2014 1787 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 1287 over it, 3.57\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5d493e0f58f2247a2f6569af2a13c9430a099a4209efdbdeef9b4f82279d2e0b"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Isotopic/IsotopeCalc.vb: FileTooLong \u2014 1685 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 1185 over it, 3.37\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6bce79547c5cf9a21aec7eeb250592e4cd92b23a1bc825020c3b0490f17dc3c0"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: RamanSpectroscopy/RamanDataProcessor.vb: FileTooLong \u2014 1634 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 1134 over it, 3.27\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c30ca66d507687f0b528246fde3c85d02ddb838e8833147eba5872b3ebde947"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: MsScanMatching: ClassTooLong \u2014 1226 significant lines (blank, comment-only and punctuation-only lines excluded), 15 methods. The bar is 400 significant lines; this is 826 over it, 3.07\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"86220bce8c93ade07ce8c2adc9eb08609d17a9268fe74a1effda4170decd2b19"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: ThermoRawFileReader/XcaliburRawFileIO.vb: FileTooLong \u2014 1502 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 1002 over it, 3.00\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8dbdd39a9605c51e686c00aff148f9c44dcf8e319c8bff040edc56703d681d1"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: mzquant/mzDeco.vb: FileTooLong \u2014 1320 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 820 over it, 2.64\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/mzDeco.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"95f7bfa500416dce34a75d28852207e72b4f03eab832e25087eee0d5d7283e1a"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Search/MsScanMatching.vb: FileTooLong \u2014 1231 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 731 over it, 2.46\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"969b4aae684fa6af06d9e7d83c3d8333a6916a3f9b58be79680c0a2b57a0153a"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: comprehensive/MSI.vb: FileTooLong \u2014 1198 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 698 over it, 2.40\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/comprehensive/MSI.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e5cc4951399b93cf7a58b6c1dd06954f99030310bc9b8e779f33bfb025f1116"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: Element.MemoryPopulateElements: MethodTooLong \u2014 MemoryPopulateElements runs 238 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 138 over it, 2.38\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Models/Element.vb"},"region":{"startLine":152}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e01b7c3f01a8e63cd57355f0a489949cd1e9b490f27dd64df17dd0328179517"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: MS_Peak_ID.MakeTheoryList: MethodTooLong \u2014 MakeTheoryList runs 229 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 129 over it, 2.29\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/MS_Peak/Oligonucleotide_MS_Peak_ID_Given_Sequence_v8.vb"},"region":{"startLine":121}}}],"partialFingerprints":{"codehealthFindingId/v1":"b84edf33aa0102b440b8bc20d236eac362bf3730bcc000d35594cedc81568905"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMassLibraryGenerator.GetIons: MethodTooLong \u2014 GetIons runs 226 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 126 over it, 2.26\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ee631032fc5bbce62aa6fb98c67bc3a69c3d86082b15faf4eec941958a1bf10"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Annotation/LipidMassLibraryGenerator.vb: FileTooLong \u2014 1058 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 558 over it, 2.12\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"60f1d1934ba19446a87f3a0813c864328cbc24154d6b3b02a7276dc86aa4c25c"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: XcaliburRawFileIO: TooManyMethods \u2014 1487 significant lines (blank, comment-only and punctuation-only lines excluded), 60 methods. The bar is 30 methods; this is 30 over it, 2.00\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0674b172b94f73ed710b0813b0414f2a5922f8cb0287ddff5d82be5c0c544f92"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfCardiolipin: MethodTooLong \u2014 JudgeIfCardiolipin runs 189 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 89 over it, 1.89\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7147}}}],"partialFingerprints":{"codehealthFindingId/v1":"98b4480a667639caf2328efa79e1f9abf7ae2380b352fc69e3ae9d13048b7798"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Search/MsScanMatching.vb: FileTooLong \u2014 936 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 436 over it, 1.87\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4aa45400a452536418c2771e6642a56b20e3e0fbe6f0a54bb2c5f66f84b189e0"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: math/Math.vb: FileTooLong \u2014 867 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 367 over it, 1.73\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/math/Math.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0794d4ab5e821da4333b02791ddf802cca0d413c7e5ca74f453eb6452e17356a"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: MSI: TooManyMethods \u2014 1136 significant lines (blank, comment-only and punctuation-only lines excluded), 52 methods. The bar is 30 methods; this is 22 over it, 1.73\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/comprehensive/MSI.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e41ba7a87c40a1aafacd70673ea012841109772e022d9e0e014565988f4b00b7"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: MetaDbXref: ClassTooLong \u2014 688 significant lines (blank, comment-only and punctuation-only lines excluded), 27 methods. The bar is 400 significant lines; this is 288 over it, 1.72\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/MetaDbXref.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c850f5c064a159d4453783dd16052311edf60b822fb1c8716e049a3aef60d02"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: Visual: ClassTooLong \u2014 688 significant lines (blank, comment-only and punctuation-only lines excluded), 23 methods. The bar is 400 significant lines; this is 288 over it, 1.72\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzplot/src/Visual.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1284094027b6b47064b005bca1a76022a8c7e2b1089f2748383390db9386f9b8"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: PeakAssign.PlotInternal: MethodTooLong \u2014 PlotInternal runs 170 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 70 over it, 1.70\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/PeakAssign.vb"},"region":{"startLine":185}}}],"partialFingerprints":{"codehealthFindingId/v1":"754f3df9398ea82b8d71e93815adbd6df8a59a0a529dcad899dfc7a116b9471d"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: MRMkit: ClassTooLong \u2014 669 significant lines (blank, comment-only and punctuation-only lines excluded), 29 methods. The bar is 400 significant lines; this is 269 over it, 1.67\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/MRM/MRMkit.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9c27babb74f96cc92cd9f1e671ff0369b51d29d9622b53181ceffa6bdf92c2a"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: MzWeb: ClassTooLong \u2014 666 significant lines (blank, comment-only and punctuation-only lines excluded), 25 methods. The bar is 400 significant lines; this is 266 over it, 1.67\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/MzWeb.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6b62df646b68160db0d55a0a67dc417e238da2f5b66ad6c051edcddb9b78668"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipoqualityDatabaseManagerUtility.ConvertMsdialClassDefinitionToTraditionalClassDefinition: MethodTooLong \u2014 ConvertMsdialClassDefinitionToTraditionalClassDefinition runs 166 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 66 over it, 1.66\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityDatabaseManagerUtility.vb"},"region":{"startLine":494}}}],"partialFingerprints":{"codehealthFindingId/v1":"4449eb1d9b9887cd75f737f01cb3350cd30a32c2a6ea93e8b619b42386fa9b54"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipoqualityDatabaseManagerUtility.ConvertMsdialClassDefinitionToSuperClass: MethodTooLong \u2014 ConvertMsdialClassDefinitionToSuperClass runs 166 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 66 over it, 1.66\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityDatabaseManagerUtility.vb"},"region":{"startLine":678}}}],"partialFingerprints":{"codehealthFindingId/v1":"81ab76dd46200904943888de8b7d298afbaa43cea395d905cc547134a8e1f6ee"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Preprocessing/MathHelpers.vb: FileTooLong \u2014 822 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 322 over it, 1.64\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MathHelpers.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e97dbf91baa6eec8ad46080e0e3e051341e7d77d7e4df8917f285641a6ca45d"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: SpectrumHandler.EstimateIsotopes: MethodTooLong \u2014 EstimateIsotopes runs 164 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 64 over it, 1.64\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/SpectrumHandler.vb"},"region":{"startLine":259}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce5f2431d068f79d397a4fe869931b116a65d6a053f1cf82b102fa90e199d06d"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: mzDeco: TooManyMethods \u2014 1276 significant lines (blank, comment-only and punctuation-only lines excluded), 48 methods. The bar is 30 methods; this is 18 over it, 1.60\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/mzDeco.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b49ac5fd7946c36f7d7d3b3890f2e34171e8a84fa7c5e1a0cc1906f18d36027"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: annotations/Massbank.vb: FileTooLong \u2014 798 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 298 over it, 1.60\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/Massbank.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1fb24bff33b199b2983e712ad06e095392417473246d6343fc5a181e18dfe8bf"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: XcaliburRawFileIO.GetScanInfoInternal: MethodTooLong \u2014 GetScanInfoInternal runs 158 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 58 over it, 1.58\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":1192}}}],"partialFingerprints":{"codehealthFindingId/v1":"ec620d1f7c23f3f4c169da2c091984d8ffd9e15c199304a7854663f0cdbe78b8"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: DSPPhaseCorrection.dspPhaseCorrection: MethodTooLong \u2014 dspPhaseCorrection runs 157 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 57 over it, 1.57\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/phasing/DSPPhaseCorrection.vb"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe1a17bd38e91999f68f37831743cdfad8c731577c77af16f185c48e325da890"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: LipoqualityDatabaseManagerUtility: ClassTooLong \u2014 623 significant lines (blank, comment-only and punctuation-only lines excluded), 9 methods. The bar is 400 significant lines; this is 223 over it, 1.56\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityDatabaseManagerUtility.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"40c47b99853cb11f361f93f3ef91e455ce4bb0e9072511823a07fc749623d829"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: IsotopeCalculator.getNominalIsotopeElementPropertyForTenIsotopomerElement: MethodTooLong \u2014 getNominalIsotopeElementPropertyForTenIsotopomerElement runs 155 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 55 over it, 1.55\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1283}}}],"partialFingerprints":{"codehealthFindingId/v1":"c44fc0eedb3de00c845c49c43bc541745da97188dd7810dfcef657f55f896268"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/MsImaging.vb: FileTooLong \u2014 769 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 269 over it, 1.54\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzplot/src/MsImaging.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f45faae0a337baaab9a2cf601bf490becff38c65ff506b3b22caaf00f5ae212"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: LipidMsmsCharacterizationUtility: TooManyMethods \u2014 1356 significant lines (blank, comment-only and punctuation-only lines excluded), 46 methods. The bar is 30 methods; this is 16 over it, 1.53\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b231f72e08075679ca86bbe50734f232624d32516c4b34da8ec4dcc6569c9bd"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: Massbank: TooManyMethods \u2014 747 significant lines (blank, comment-only and punctuation-only lines excluded), 46 methods. The bar is 30 methods; this is 16 over it, 1.53\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/Massbank.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"249fa0416b8fa2ecc875bf5a812167a18a41769da9ff7e79e3a60dfc670cab20"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: TICplot.RunPlot: MethodTooLong \u2014 RunPlot runs 151 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 51 over it, 1.51\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/ChromatogramPlot/TICplot.vb"},"region":{"startLine":200}}}],"partialFingerprints":{"codehealthFindingId/v1":"a1c887ae804ca02fe259b55896234841eac34a421731a64d6d033d51df2064ba"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: PeakAnalyzer.MultiPeakFit: MethodTooLong \u2014 MultiPeakFit runs 150 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 50 over it, 1.50\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":1568}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ecead1d136bb2dcf2117e0f370057929222118ae879fb51fe47ec4b00912e17"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfHexceramideeos: MethodTooLong \u2014 JudgeIfHexceramideeos runs 149 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 49 over it, 1.49\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10557}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4f57cc6f101276dfff32dfc68cb3b6cab50222984a4bd204b8699ba32e039f4"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: DensityGroup.DensityGroupAlignment: MethodTooLong \u2014 DensityGroupAlignment runs 149 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 49 over it, 1.49\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/PeakAlignment/Algorithm/DensityGroup.vb"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e8f5fda318181f58aa3fd711f6b80f2a5abb0ec05a7ceba85a1ba34378f32fc"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: FormulaGenerator: ClassTooLong \u2014 590 significant lines (blank, comment-only and punctuation-only lines excluded), 21 methods. The bar is 400 significant lines; this is 190 over it, 1.48\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca35d2dbb4c8b9c7dcfe7f484b538feb02e70253677d9f56762d08cb17d5c357"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: src/Visual.vb: FileTooLong \u2014 735 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 235 over it, 1.47\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzplot/src/Visual.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6bd6f4f133e9d1c4995def7af3c821b37a1eda5bf3cc762c1b14c8857a37e321"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: LipidParser/LipidParsers.vb: FileTooLong \u2014 734 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 234 over it, 1.47\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidParser/LipidParsers.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"13ebbd53ba4033beac030bb6053de915e967eaa42e870586b98654b8f9ac2fc5"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: LipidEieioMsmsCharacterization: TooManyMethods \u2014 2714 significant lines (blank, comment-only and punctuation-only lines excluded), 44 methods. The bar is 30 methods; this is 14 over it, 1.47\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"24f7d261aaefef91cca0f2bf122800291bb3f88afab6399aef1c1788b54865db"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: FragmentAssigner: ClassTooLong \u2014 586 significant lines (blank, comment-only and punctuation-only lines excluded), 19 methods. The bar is 400 significant lines; this is 186 over it, 1.47\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FragmentAssigner.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2008710195a4c81679130dbb397378118ae749aaf8d9fff68570f189a55d7e8b"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfCeramideeos: MethodTooLong \u2014 JudgeIfCeramideeos runs 145 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 45 over it, 1.45\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10243}}}],"partialFingerprints":{"codehealthFindingId/v1":"81bbcac83da0781c5ac57e7e82191338205ebf97ae85a3227bd458c950737a90"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: SpectralPreprocessor: ClassTooLong \u2014 578 significant lines (blank, comment-only and punctuation-only lines excluded), 25 methods. The bar is 400 significant lines; this is 178 over it, 1.45\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f3e6dd5ed9adebf23c64765e26ca006772cce08dd0e441a9bac932ff4564f5cd"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: annotations/MetaDbXref.vb: FileTooLong \u2014 720 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 220 over it, 1.44\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/MetaDbXref.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1a46147250b419dec88de24e259ff97012746505f6a0a5e9de39fa15d52bec3"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: centWave.DetectByCentWave: MethodTooLong \u2014 DetectByCentWave runs 144 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 44 over it, 1.44\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/centWave/centWave.vb"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff1c21408d0a65be2bb7c7d3db7700fdc9c40e21216be90a15bc59acff75fdec"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidEieioMsmsCharacterization.JudgeIfPhosphatidylcholine: MethodTooLong \u2014 JudgeIfPhosphatidylcholine runs 142 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 42 over it, 1.42\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":230}}}],"partialFingerprints":{"codehealthFindingId/v1":"46bf0a72b20b6a7e2e86f056b3b871a33d64e370b9559803959d747208182e18"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidEieioMsmsCharacterization.JudgeIfPhosphatidylcholineD5: MethodTooLong \u2014 JudgeIfPhosphatidylcholineD5 runs 142 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 42 over it, 1.42\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2052}}}],"partialFingerprints":{"codehealthFindingId/v1":"c13b6ab6031370d13f4a9c084aacee7d4809f592b7b7ce150c49ff3a9e323099"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfAcylhexcer: MethodTooLong \u2014 JudgeIfAcylhexcer runs 142 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 42 over it, 1.42\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11064}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb208a73e4bc553dbacc442f30f5599193b132995fe03aa3e2cf1fa48df0aa02"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: assembly/MzWeb.vb: FileTooLong \u2014 708 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 208 over it, 1.42\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/MzWeb.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"550b2c5566743c4ac5395a3ea6b198b9ac31e3ac24aec335aa3f3cdf34ef9c8e"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: assembly/data.vb: FileTooLong \u2014 706 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 206 over it, 1.41\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/data.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"66a70d3efca344a1a0d62288a1367b2abfcfe09bb25ff82be98d2fcd5dc0858c"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: MRM/MRMkit.vb: FileTooLong \u2014 702 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 202 over it, 1.40\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/MRM/MRMkit.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"54699ebc1c94cbf7a0b4217ab576b2ee10be65b9791f216ef316760315dc1860"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: MathHelpers: TooManyMethods \u2014 820 significant lines (blank, comment-only and punctuation-only lines excluded), 42 methods. The bar is 30 methods; this is 12 over it, 1.40\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MathHelpers.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a1202351021096968719392ba3e8c15be6cf71914f3d73b70a4772901ca24f73"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: IsotopeCalculator.getNominalIsotopeElementPropertyForNineIsotopomerElement: MethodTooLong \u2014 getNominalIsotopeElementPropertyForNineIsotopomerElement runs 138 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 38 over it, 1.38\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1504}}}],"partialFingerprints":{"codehealthFindingId/v1":"27b51c6108c64c0f3421c3cf3e810d32e48aecd84d2053d05f86e4cb438cbfc8"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: DimensionalityReducer.PCA: MethodTooLong \u2014 PCA runs 137 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 37 over it, 1.37\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":1899}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb129bf3487adcb5a0fb134f63d4683e2b11407ad9673b8f3c2f508aee59b834"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidEieioMsmsCharacterization.JudgeIfPhosphatidylinositol: MethodTooLong \u2014 JudgeIfPhosphatidylinositol runs 136 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 36 over it, 1.36\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":892}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6e8ac32c8f56a2f16612d2add86bea01e4b21f1935caa29d051ebb5599647e3"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidEieioMsmsCharacterization.JudgeIfPhosphatidylinositolD5: MethodTooLong \u2014 JudgeIfPhosphatidylinositolD5 runs 136 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 36 over it, 1.36\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2659}}}],"partialFingerprints":{"codehealthFindingId/v1":"bdeba1ae8f0e32edc89a154e903bb3db9c0d7a9b9344a7bbe1f76bb564e4397d"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: SevenGoldenRulesCheck.GetIsotopicPeaks: MethodTooLong \u2014 GetIsotopicPeaks runs 135 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 35 over it, 1.35\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/SevenGoldenRulesCheck.vb"},"region":{"startLine":212}}}],"partialFingerprints":{"codehealthFindingId/v1":"3172324b5dd5c709931c21d9f467b92068fe8080985b8c1fb87283cb4f31fc51"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: AdductIonParser.GetOrganicAdductFormulaAndMass: MethodTooLong \u2014 GetOrganicAdductFormulaAndMass runs 135 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 35 over it, 1.35\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/PrecursorType/AdductIonParser.vb"},"region":{"startLine":317}}}],"partialFingerprints":{"codehealthFindingId/v1":"f15fa8a36c71e547951ab2623bd126ecb5b42853aff7e8d04b32108e9a59ef37"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfCeramideo: MethodTooLong \u2014 JudgeIfCeramideo runs 131 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 31 over it, 1.31\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8882}}}],"partialFingerprints":{"codehealthFindingId/v1":"c56fcd3d1f4301bd9f68bb7bee1774f56f1e4ca61973f32b0782cb5f5fd94943"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: PeakAnalyzer: ClassTooLong \u2014 520 significant lines (blank, comment-only and punctuation-only lines excluded), 20 methods. The bar is 400 significant lines; this is 120 over it, 1.30\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8571ad29bc578f6d4648a854c2e44ad2b1d37eae82e19113ee780b93b96286ce"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipoqualityDatabaseManagerUtility.ConvertMsdialLipidnameToLipidAnnotation: MethodTooLong \u2014 ConvertMsdialLipidnameToLipidAnnotation runs 130 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 30 over it, 1.30\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityDatabaseManagerUtility.vb"},"region":{"startLine":67}}}],"partialFingerprints":{"codehealthFindingId/v1":"0bc3a040adba1e54872f274ce9b7103e83c4e8e6406a4f40c39ea832c21c302f"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidEieioMsmsCharacterization.JudgeIfPhosphatidylserineD5: MethodTooLong \u2014 JudgeIfPhosphatidylserineD5 runs 129 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 29 over it, 1.29\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2492}}}],"partialFingerprints":{"codehealthFindingId/v1":"80fd59c4f779eb66b46361953449ec2fcc2e04ef8a426c3ae109f641f075e5fa"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: OadLipidSpectrumGenerator.GetClassFragmentSpectrum: MethodTooLong \u2014 GetClassFragmentSpectrum runs 129 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 29 over it, 1.29\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/OadLipidsSpectrumGenerator.vb"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"faae019f346b3e1d188a660be1c71f688432cb8dd98cf12df3ed8c1a8011c57c"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidEieioMsmsCharacterization.JudgeIfPhosphatidylserine: MethodTooLong \u2014 JudgeIfPhosphatidylserine runs 128 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 28 over it, 1.28\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":726}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f0d5f60ead8095f150a3d50a59eb7052a928f10a8a4ae92a25460091531192f"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfCeramidens: MethodTooLong \u2014 JudgeIfCeramidens runs 127 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 27 over it, 1.27\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7943}}}],"partialFingerprints":{"codehealthFindingId/v1":"95ccb6fa470aaba42178e96377423c0d90ca79fed7efc7d73237bfb4c843c72b"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfCeramidensD7: MethodTooLong \u2014 JudgeIfCeramidensD7 runs 127 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 27 over it, 1.27\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":16340}}}],"partialFingerprints":{"codehealthFindingId/v1":"f46b7359b28b65c4a404a564e6077a0cb6fac0db48d4ecfa1f23b9cb4cff291d"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: FormulaStringParcer.setElementNumbers: MethodTooLong \u2014 setElementNumbers runs 127 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 27 over it, 1.27\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":474}}}],"partialFingerprints":{"codehealthFindingId/v1":"5851d7fb288fcf927de376bbeb712bd19f83e0be28257da5173856fc9ee73723"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: MsScanMatching: TooManyMethods \u2014 928 significant lines (blank, comment-only and punctuation-only lines excluded), 38 methods. The bar is 30 methods; this is 8 over it, 1.27\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"324cee9e1aef36f7c3daf09e5cc68bcba5dbb1d712beb8a8fd2ec38574a1fea3"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: MzMath: TooManyMethods \u2014 832 significant lines (blank, comment-only and punctuation-only lines excluded), 38 methods. The bar is 30 methods; this is 8 over it, 1.27\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/math/Math.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"882b791509827006964b6dedcc78d263f82585e4a31821b808901903fa710cd3"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: MummichogAnnotator: ClassTooLong \u2014 504 significant lines (blank, comment-only and punctuation-only lines excluded), 16 methods. The bar is 400 significant lines; this is 104 over it, 1.26\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Mummichog/MummichogModule.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9662382cf7858cf6ca922e447503226bc3c864866376b5a258a03c7a6e9e2f0a"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: MathHelpers.NIPALSWithMissing: MethodTooLong \u2014 NIPALSWithMissing runs 126 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 26 over it, 1.26\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MathHelpers.vb"},"region":{"startLine":909}}}],"partialFingerprints":{"codehealthFindingId/v1":"c0b3dc107621675785c577c731b027690e53b9ebeb2fec4c808b7dc80492f127"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfPhosphatidylcholineD5: MethodTooLong \u2014 JudgeIfPhosphatidylcholineD5 runs 125 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 25 over it, 1.25\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15067}}}],"partialFingerprints":{"codehealthFindingId/v1":"17627f8d95e773b83aafd30387c2c63de4609f050d84a7c156d6831ca8360862"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Lipidomics/LipoqualityDatabaseManagerUtility.vb: FileTooLong \u2014 624 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 124 over it, 1.25\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityDatabaseManagerUtility.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"73c1d76ab9bf8fc873be615557650d605dd86ef846acb236473686ebffc5d69c"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidEieioMsmsCharacterization.JudgeIfPhosphatidylethanolamine: MethodTooLong \u2014 JudgeIfPhosphatidylethanolamine runs 124 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 24 over it, 1.24\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":414}}}],"partialFingerprints":{"codehealthFindingId/v1":"77027a1624e30de496841851ce3e656e769a7127bde3db2cbdbd734ab130d59e"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfCeramidends: MethodTooLong \u2014 JudgeIfCeramidends runs 124 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 24 over it, 1.24\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8193}}}],"partialFingerprints":{"codehealthFindingId/v1":"deb42169d98ed3b3bfa37cfefe49395c8e4cabd912199b4a50bdff38b576026b"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: PeakAreaCalculator.GaussianFittingIntegration: MethodTooLong \u2014 GaussianFittingIntegration runs 124 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 24 over it, 1.24\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakArea/PeakAreaCalculator.vb"},"region":{"startLine":100}}}],"partialFingerprints":{"codehealthFindingId/v1":"f40385d41bef311b5a059139b851bcba0b4a9c75d16761c017fda4745b93bfad"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfAshexcer: MethodTooLong \u2014 JudgeIfAshexcer runs 122 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 22 over it, 1.22\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11270}}}],"partialFingerprints":{"codehealthFindingId/v1":"19079c0bbe12285b8ee5a81bb6aa1c96197f6a68cee4a5fc03a1ae936d44d7de"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: pipeline/annotation.vb: FileTooLong \u2014 608 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 108 over it, 1.22\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/pipeline/annotation.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ecf7680395d91a5dc80a116ff83db97670317d05f743913cc183bbf66632f962"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: IsotopeCalculator.getNominalIsotopeElementPropertyForEightIsotopomerElement: MethodTooLong \u2014 getNominalIsotopeElementPropertyForEightIsotopomerElement runs 121 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 21 over it, 1.21\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1701}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb87b5f127fc8a40ecc2ce4384ad362bc8c57c3233f2fade41ec9445b9701817"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfPhosphatidylcholine: MethodTooLong \u2014 JudgeIfPhosphatidylcholine runs 121 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 21 over it, 1.21\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":1789}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6fd034a6ec2c8705354c3a117f3ed352f734d8ece9d532d8ffb504e9d67e484"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: FormulaTools: TooManyMethods \u2014 369 significant lines (blank, comment-only and punctuation-only lines excluded), 36 methods. The bar is 30 methods; this is 6 over it, 1.20\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/math/Formula.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7fba617825556c3c05849fbdd051b4da8a9abd0a795c96fad0b8db9ebdfa65b9"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: ReferenceTreePkg: ClassTooLong \u2014 480 significant lines (blank, comment-only and punctuation-only lines excluded), 21 methods. The bar is 400 significant lines; this is 80 over it, 1.20\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/pipeline/ReferenceTree.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e24bcc8e2ec27dc98cd0c103432a60fd97b06d616e0e2bb018cb6aacf41e4df5"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: XcaliburRawFileIO.ExtractParentIonMZFromFilterText: MethodTooLong \u2014 ExtractParentIonMZFromFilterText runs 120 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 20 over it, 1.20\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":597}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b2566629e50b27e21d9836b65eb40dd484ebca2479073bcf8c50a3ba4c62c52"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidEieioMsmsCharacterization.JudgeIfPhosphatidylethanolamineD5: MethodTooLong \u2014 JudgeIfPhosphatidylethanolamineD5 runs 120 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 20 over it, 1.20\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2235}}}],"partialFingerprints":{"codehealthFindingId/v1":"100544a0d5c3e7aea7332f8abc62710e2bf6dd954895f2515b1b4e16506520f4"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: AnalysisParamOfMsfinder.New(\u2026): MethodTooLong \u2014 New(\u2026) runs 120 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 20 over it, 1.20\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/AnalysisParamOfMsfinder.vb"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"b13846dc3cb17e60a0c40626b3a245754ea5815db563e42cbdc9a8f9886c673a"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: MathHelpers.PCA: MethodTooLong \u2014 PCA runs 120 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 20 over it, 1.20\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MathHelpers.vb"},"region":{"startLine":755}}}],"partialFingerprints":{"codehealthFindingId/v1":"67072a6ead89524c47bbeb4416e35903ccd7bd534b91c670a8d9bb2ff7aeb083"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: MSFinder/FormulaGenerator.vb: FileTooLong \u2014 597 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 97 over it, 1.19\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2cef4392cfca94699a6802723d80943608cf4432d4263f88eb2b23f03b428873"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: FormulaStringParcer: ClassTooLong \u2014 477 significant lines (blank, comment-only and punctuation-only lines excluded), 11 methods. The bar is 400 significant lines; this is 77 over it, 1.19\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f91085259f0a714dab1cdc7d209b460bbdb91ac6fe70e975d86029e5e023b836"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfHexceramideo: MethodTooLong \u2014 JudgeIfHexceramideo runs 119 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 19 over it, 1.19\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8546}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a0e523c608c47ad26d99eef55839325a48244e32d1d8064bd82dfd0e963b5f2"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfCeramideap: MethodTooLong \u2014 JudgeIfCeramideap runs 119 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 19 over it, 1.19\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9355}}}],"partialFingerprints":{"codehealthFindingId/v1":"13b1f53eb08a90e5eedd8e22d0fe5e2c2d05bb0438ef7edf81ac315ece6992e7"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfCeramidenp: MethodTooLong \u2014 JudgeIfCeramidenp runs 119 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 19 over it, 1.19\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10073}}}],"partialFingerprints":{"codehealthFindingId/v1":"594ceef632c8800a200f1b338492097256ddca7423882e997c8636f8808d5bc8"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: TissueMorphology: ClassTooLong \u2014 475 significant lines (blank, comment-only and punctuation-only lines excluded), 18 methods. The bar is 400 significant lines; this is 75 over it, 1.19\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/comprehensive/TissueMorphology.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c8f46d7883d7a4b74b0db9a6465890da9b6691fb5fffa2511850aad545416fe"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: MSFinder/FragmentAssigner.vb: FileTooLong \u2014 592 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 92 over it, 1.18\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FragmentAssigner.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f6a5e6154feccf3070e02100a8d511858b2caafc53d74cda5825f2cb3ac0f35"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfHexceramideap: MethodTooLong \u2014 JudgeIfHexceramideap runs 118 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 18 over it, 1.18\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9518}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd943ecf0ec1e27992f5827ccf0b5e5e8e19e5d451be0abeefa09737b6b3264c"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfBetaMethylPhosphatidylcholine: MethodTooLong \u2014 JudgeIfBetaMethylPhosphatidylcholine runs 117 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 17 over it, 1.17\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":16542}}}],"partialFingerprints":{"codehealthFindingId/v1":"89057b3ea4b5992e384e7c9cd1539977a3771a61d8813762c3321bc5a4f434c7"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: IsotopeCalculator: TooManyMethods \u2014 1680 significant lines (blank, comment-only and punctuation-only lines excluded), 35 methods. The bar is 30 methods; this is 5 over it, 1.17\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7cdb103ed40d4d015a933ffa44a9202884c0f38ba05a9776c4062a3512a6656"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfTriacylglycerol: MethodTooLong \u2014 JudgeIfTriacylglycerol runs 116 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 16 over it, 1.16\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3126}}}],"partialFingerprints":{"codehealthFindingId/v1":"26736cfc59e118fbae3feec8c9fdd93b16e1ec0cb769900440c44e4ec43c6324"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfHexceramidens: MethodTooLong \u2014 JudgeIfHexceramidens runs 116 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 16 over it, 1.16\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8374}}}],"partialFingerprints":{"codehealthFindingId/v1":"221cba3ab2b754931dc4bae7c8e72bff81ca08eadca5742e9a888fbabf7c0e2c"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfSulfonolipid: MethodTooLong \u2014 JudgeIfSulfonolipid runs 116 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 16 over it, 1.16\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13210}}}],"partialFingerprints":{"codehealthFindingId/v1":"c145f7eae519145e5c90fd9142ef9d10ac4f2b8c7a951ea01f61d470838e68d8"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: LipoqualityRest: ClassTooLong \u2014 461 significant lines (blank, comment-only and punctuation-only lines excluded), 3 methods. The bar is 400 significant lines; this is 61 over it, 1.15\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityRest.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b158103e60fc3088f19826bc11b04754d91250c1a04b46e54e54d76940dad79"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfDgts: MethodTooLong \u2014 JudgeIfDgts runs 115 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 15 over it, 1.15\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6007}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b0bc57e5ae238d6281474c66c3a3ff42a198001619c88bbe9d77b0893fb6624"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfTriacylglycerolD5: MethodTooLong \u2014 JudgeIfTriacylglycerolD5 runs 115 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 15 over it, 1.15\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":16086}}}],"partialFingerprints":{"codehealthFindingId/v1":"acca98897b193821c73f32eff05509ea7bef360a501081b4431dc7e024aed73a"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: metaDNAInfer: ClassTooLong \u2014 456 significant lines (blank, comment-only and punctuation-only lines excluded), 23 methods. The bar is 400 significant lines; this is 56 over it, 1.14\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzDIA/metaDNA.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a1b80016162d7f426358663bba13f12b08b751e2e3d50f65cbaaab250c4ca24"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: Composition.FindCompositions: MethodTooLong \u2014 FindCompositions runs 114 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 14 over it, 1.14\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/OligonucleotideComposition/Oligonucleotide_Composition_from_Mass_Calculator_v2.vb"},"region":{"startLine":125}}}],"partialFingerprints":{"codehealthFindingId/v1":"69b61c90e1e6d73a07ea93e3d1d179514a85d67f0ac1d657233038189283c184"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: MS_Peak_ID.GetMatches: MethodTooLong \u2014 GetMatches runs 112 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 12 over it, 1.12\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/MS_Peak/Oligonucleotide_MS_Peak_ID_Given_Sequence_v8.vb"},"region":{"startLine":455}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0c8e9f774ea6a0017538c0935bc8ed5056066a814c5daae84bf8ebaa9ced197"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Annotation/Lipidomics.vb: FileTooLong \u2014 558 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 58 over it, 1.12\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Lipidomics.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0f55890332fc50d81d4820a51383c1a20a605e0e29fc0711523cebf075407ef"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: LipidAnnotation: ClassTooLong \u2014 444 significant lines (blank, comment-only and punctuation-only lines excluded), 4 methods. The bar is 400 significant lines; this is 44 over it, 1.11\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Lipidomics.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1b6c8aba73be07464ccf94be68b2db8555518d7a67811c8398e884624136dc9"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: IsotopeCalculator.getAllIsotopeElementPropertyForTenIsotopomerElement: MethodTooLong \u2014 getAllIsotopeElementPropertyForTenIsotopomerElement runs 111 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 11 over it, 1.11\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":384}}}],"partialFingerprints":{"codehealthFindingId/v1":"2472f373445be97b81638043260831c69f22c6dd0c97950049abd64142fbbf9d"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfHemiismonoacylglycerophosphate: MethodTooLong \u2014 JudgeIfHemiismonoacylglycerophosphate runs 111 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 11 over it, 1.11\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7003}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f407032e3c1a5d8aa1dbef088443870738333972ab2301d0a262e7d65c8acd5"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: MsImaging: TooManyMethods \u2014 723 significant lines (blank, comment-only and punctuation-only lines excluded), 33 methods. The bar is 30 methods; this is 3 over it, 1.10\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzplot/src/MsImaging.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d27e0c5e74fce47b8730aece1a562ff6ead9721304bb4ebbfd5d8a0bb103c6cd"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: IsotopeCalculator.GetBasicCompoundElementProfile: MethodTooLong \u2014 GetBasicCompoundElementProfile runs 110 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 10 over it, 1.10\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":122}}}],"partialFingerprints":{"codehealthFindingId/v1":"c0d97eac6b4e2c3ede7f39b619c8837e041055a1860dcf5ddc26cc5b3f0709ae"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: MetaInfoReader.GetMetaInfo: MethodTooLong \u2014 GetMetaInfo runs 110 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 10 over it, 1.10\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/MetaInfoReader.vb"},"region":{"startLine":170}}}],"partialFingerprints":{"codehealthFindingId/v1":"398e8ec0ca46e56c7848354a7732d55e9424b7dc77c580862e3d697aa8fd9b19"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: FormulaGenerator.getFormulaResults: MethodTooLong \u2014 getFormulaResults runs 109 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 9 over it, 1.09\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaGenerator.vb"},"region":{"startLine":326}}}],"partialFingerprints":{"codehealthFindingId/v1":"9755a27206e71f8f03133254342faef2a14064f1fb6f2fb16bf4a6f575ead7ac"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: PeakDetector.DetectByMatchedFilter: MethodTooLong \u2014 DetectByMatchedFilter runs 109 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 9 over it, 1.09\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakDetector.vb"},"region":{"startLine":194}}}],"partialFingerprints":{"codehealthFindingId/v1":"893ca29e5b350c0dd20fa88c683cb316d0f35698596a1e4e9a87a38fbc9faad1"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: MetaDbXref.searchTable: MethodTooLong \u2014 searchTable runs 108 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 8 over it, 1.08\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/MetaDbXref.vb"},"region":{"startLine":898}}}],"partialFingerprints":{"codehealthFindingId/v1":"122981b4328fbad39d1b4fbd496d3aa2264d1a4f7e4ded6d97c18507763c1fc2"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: PeakAnalyzer.SinglePeakFit: MethodTooLong \u2014 SinglePeakFit runs 108 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 8 over it, 1.08\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/RamanDataProcessor.vb"},"region":{"startLine":1412}}}],"partialFingerprints":{"codehealthFindingId/v1":"05f64e0088ea9a5c642aae2a7531c1bd7a1a1c8df6998d1a4ec89013025c20d1"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfDgdg: MethodTooLong \u2014 JudgeIfDgdg runs 108 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 8 over it, 1.08\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5016}}}],"partialFingerprints":{"codehealthFindingId/v1":"358fa568382e39bd601e3fa4975c080975e592716893c63869e4fcb31d61bc1c"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: FormulaStringParcer.IsOrganicFormula: MethodTooLong \u2014 IsOrganicFormula runs 108 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 8 over it, 1.08\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":116}}}],"partialFingerprints":{"codehealthFindingId/v1":"618cd6114f385bcf36e24f9f12bd334f64efdbb0107ed43581f36c3390965446"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfEthertag: MethodTooLong \u2014 JudgeIfEthertag runs 107 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 7 over it, 1.07\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5842}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c89d9a5bde767c91d7d660e46c58fdabdc97ca1eb7f3c1667424431a2979196"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: data: TooManyMethods \u2014 674 significant lines (blank, comment-only and punctuation-only lines excluded), 32 methods. The bar is 30 methods; this is 2 over it, 1.07\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/data.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4dcc66c752f7ef81e09b1e9487759ff9bff66a539ba82a6717d04e0de0e3e9a4"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: FormulaStringParcer.setElementNumbers: MethodTooLong \u2014 setElementNumbers runs 106 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 6 over it, 1.06\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":351}}}],"partialFingerprints":{"codehealthFindingId/v1":"8055398739c15d263807434dbc82acd0927e982a8997c4d0b7dd61048be7f04c"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: MummichogAnnotator.ReverseAnnotation: MethodTooLong \u2014 ReverseAnnotation runs 106 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 6 over it, 1.06\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Mummichog/MummichogModule.vb"},"region":{"startLine":584}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b67102de2dfc512af55a62f1ddef24d73ab68d4e85e77a33d26d5867a71d36a"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: StandardCurveWorker.Regression: MethodTooLong \u2014 Regression runs 106 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 6 over it, 1.06\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/MRM/QuantitativeAnalysis/StandardCurveWorker.vb"},"region":{"startLine":124}}}],"partialFingerprints":{"codehealthFindingId/v1":"77e4ee3e296492c4c6760ccf43d160563ad64114f345c9f88eb5b7efbddbba36"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: MissingValueImputation: ClassTooLong \u2014 420 significant lines (blank, comment-only and punctuation-only lines excluded), 14 methods. The bar is 400 significant lines; this is 20 over it, 1.05\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b7b37f7f3ceb72570c14c6bdebf646b5eb7b24f3a96e60ad90791af217ed578"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfHexceramidends: MethodTooLong \u2014 JudgeIfHexceramidends runs 105 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 5 over it, 1.05\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8718}}}],"partialFingerprints":{"codehealthFindingId/v1":"09661645d9d653ee21ec717f3da1ff04c5b0f58006a4d240188d542ef657717e"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: AdductIonParser.IsCommonAdduct: MethodTooLong \u2014 IsCommonAdduct runs 105 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 5 over it, 1.05\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/PrecursorType/AdductIonParser.vb"},"region":{"startLine":209}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1c65386b1980213bbfec7a8fa62aca19f17b434b9bc0f4dca051bb11f33d77a"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: ScanVisual3D.PlotInternal: MethodTooLong \u2014 PlotInternal runs 105 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 5 over it, 1.05\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/ChromatogramPlot/ScanVisual3D.vb"},"region":{"startLine":182}}}],"partialFingerprints":{"codehealthFindingId/v1":"62b89ca339b296e1d985c2aedc8daa6792577b219d8cf7a57f28873ead76e9b9"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: Assembly: ClassTooLong \u2014 416 significant lines (blank, comment-only and punctuation-only lines excluded), 23 methods. The bar is 400 significant lines; this is 16 over it, 1.04\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/Assembly.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e41fab238bd2fc914a7563be80c9efca016bc0479a6860e19db38613bb33e9c"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: GolotvinWilliamsBaselineCorrector.calculateBaselineModel: MethodTooLong \u2014 calculateBaselineModel runs 104 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 4 over it, 1.04\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/baseline/GolotvinWilliamsBaselineCorrector.vb"},"region":{"startLine":114}}}],"partialFingerprints":{"codehealthFindingId/v1":"e57c3ba691171879ef7ed7ba4eaa26dabb9a75e6be5dc1cca7a446f20730f940"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: IsotopeCalculator.getNominalIsotopeElementPropertyForSevenIsotopomerElement: MethodTooLong \u2014 getNominalIsotopeElementPropertyForSevenIsotopomerElement runs 104 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 4 over it, 1.04\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1876}}}],"partialFingerprints":{"codehealthFindingId/v1":"b359113952b19ea0aee959b4d970aa1cdd887b8a2474a475f9b95c53478a0f9c"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfPhosphatidylethanolamine: MethodTooLong \u2014 JudgeIfPhosphatidylethanolamine runs 104 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 4 over it, 1.04\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":1989}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a75737e46b150ef0e58fd9c9e7e8f6aae241d56c43867ccfc7309c4d6a1f7bb"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfPhosphatidylethanolamineD5: MethodTooLong \u2014 JudgeIfPhosphatidylethanolamineD5 runs 104 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 4 over it, 1.04\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15234}}}],"partialFingerprints":{"codehealthFindingId/v1":"b559e2f7d29fee6a42c8bb843df8803ab2b10dbcd6132d793d4a1313c7d7e843"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: library: TooManyMethods \u2014 574 significant lines (blank, comment-only and punctuation-only lines excluded), 31 methods. The bar is 30 methods; this is 1 over it, 1.03\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/pipeline/annotation.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"20fd10b80e92696b80cce61200ff643e246217c4e2d209f938d7005cda7745dd"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfAcylsm: MethodTooLong \u2014 JudgeIfAcylsm runs 103 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 3 over it, 1.03\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":10855}}}],"partialFingerprints":{"codehealthFindingId/v1":"f184868915ec7fd7b0b5bb4f87d211c259024e699030a13a4e3ca43f3d58670f"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: MsScanMatching.GetWeightedDotProduct: MethodTooLong \u2014 GetWeightedDotProduct runs 103 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 3 over it, 1.03\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":902}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2c19cf8e942da2b7eca15336910101ea35f994a6b493b77806477a8d8b98830"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: BatchCorrection.CorrectComBat: MethodTooLong \u2014 CorrectComBat runs 103 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 3 over it, 1.03\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/BatchCorrection.vb"},"region":{"startLine":401}}}],"partialFingerprints":{"codehealthFindingId/v1":"36933694d0fc7e66c1b140b646b1a8ec5d0dbaf88684ebafaf19f4f2e9bd719a"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Mummichog/MummichogModule.vb: FileTooLong \u2014 514 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 14 over it, 1.03\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Mummichog/MummichogModule.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a2cc7b8718ceac96bfb3137fc5a8f0eac545189941fcd0d4d19b46342b09b82"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: pipeline/ReferenceTree.vb: FileTooLong \u2014 513 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 13 over it, 1.03\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/pipeline/ReferenceTree.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"47d982255d47702dea506de46edbd416889f7cb4f5d3697d5e0efc8e9295efde"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidEieioMsmsCharacterization.JudgeIfTriacylglycerolD5: MethodTooLong \u2014 JudgeIfTriacylglycerolD5 runs 102 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 2 over it, 1.02\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3176}}}],"partialFingerprints":{"codehealthFindingId/v1":"68fdf6b4e47d6877e2ec9c03b416e883f66d839941c76195357ea8135097de85"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfEtherdgdg: MethodTooLong \u2014 JudgeIfEtherdgdg runs 102 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 2 over it, 1.02\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5442}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ad7a3787275677f6f9032c407112722aa6f0644a2ade2fb8bfe462f23c62961"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: SequenceToSpec.GetSpectrumPeaksByHCD: MethodTooLong \u2014 GetSpectrumPeaksByHCD runs 102 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 2 over it, 1.02\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/SequenceToSpec.vb"},"region":{"startLine":118}}}],"partialFingerprints":{"codehealthFindingId/v1":"01626ec51af101483f83bd5bd8188b93d0f9b6781d8efb1070c260a6894dd917"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: MS_Peak_ID: ClassTooLong \u2014 406 significant lines (blank, comment-only and punctuation-only lines excluded), 5 methods. The bar is 400 significant lines; this is 6 over it, 1.02\u00D7 the bar. To reduce it, group the members that share the same data into a smaller type of their own and delegate to it, so no single type carries every responsibility."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/MS_Peak/Oligonucleotide_MS_Peak_ID_Given_Sequence_v8.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"59e1b683d39691bece70ac29638662a4613affe6e2b97f968a702c8342482647"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: comprehensive/TissueMorphology.vb: FileTooLong \u2014 506 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 6 over it, 1.01\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/comprehensive/TissueMorphology.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"196782a9c5c25bf1011124729b7253f4d6b102098eddb1d5bb1f3687db311ee9"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: Visual.SpectrumPlot: MethodTooLong \u2014 SpectrumPlot runs 101 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 1 over it, 1.01\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzplot/src/Visual.vb"},"region":{"startLine":819}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9c3656137a34593b14a16f9da82fc931ce232bbe5ccdf65426fe640ff525854"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: MsScanMatching.GetEieioBasedLipidMoleculeAnnotationResult: MethodTooLong \u2014 GetEieioBasedLipidMoleculeAnnotationResult runs 101 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 1 over it, 1.01\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":178}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5847ace8741df680553e966f38ee8c5685d30ed23fbc0c146fe62160b96af72"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidEieioMsmsCharacterization.JudgeIfEtherpe: MethodTooLong \u2014 JudgeIfEtherpe runs 101 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 1 over it, 1.01\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1497}}}],"partialFingerprints":{"codehealthFindingId/v1":"430d2f64b851d7a19bca9bc94ad1724a6b91f69c523c352d761794ebf0a62d76"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: LipidMsmsCharacterization.JudgeIfMgdg: MethodTooLong \u2014 JudgeIfMgdg runs 101 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 1 over it, 1.01\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4873}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f9f960c6f70e12b8c5b94b0ae657fc0a2ee626445e0b57522fe4c3ebc6e6096"}},{"ruleId":"D3","level":"warning","message":{"text":"MethodTooLong: OadSpectrumPeakGenerator.DoubleBondSpectrumWithId: MethodTooLong \u2014 DoubleBondSpectrumWithId runs 101 significant lines (blank, comment-only and punctuation-only lines excluded) in one body. The bar is 100 significant lines; this is 1 over it, 1.01\u00D7 the bar. This is length, not branching: a long straight-line body scores low on complexity and is still read whole to change any part of it, so the complexity numbers beside this row neither confirm nor excuse it. To reduce it, extract each cohesive step of the body \u2014 the runs of statements that work on the same values and would earn the same name \u2014 into its own named unit, and have this one call them in order."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/OadSpectrumPeakGenerator.vb"},"region":{"startLine":226}}}],"partialFingerprints":{"codehealthFindingId/v1":"bda46388d2c5779ad5ffac58743d6a03d055a366e06cd6fc1caa88f280a59e71"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: mzDIA/metaDNA.vb: FileTooLong \u2014 502 significant lines (blank, comment-only and punctuation-only lines excluded). The bar is 500 significant lines; this is 2 over it, 1.00\u00D7 the bar. To reduce it, split the file along the responsibilities already in it: move each cohesive group of declarations into its own sibling file in the same module or package, so no one file has to be read whole to change one of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzDIA/metaDNA.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"14cdd7b3c363f4435a6a52cd14338483acba01063408368932f22267ae3d2f83"}},{"ruleId":"D4","level":"warning","message":{"text":"Near-duplicate member family (4 members, 17 shared lines): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1773-1804 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12125-12175 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12179-12228 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12232-12283 \u2014 These 4 members are variants of one another: a block of 17 lines reported below appears in every one of them, and the pairwise near-duplicate rows they would otherwise produce are collapsed into this row. Read them as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1773}}}],"partialFingerprints":{"codehealthFindingId/v1":"e17b955c8ab9d3c58c4abf7ed3ec40c3367c667d4585bf89b978e71a74cd40cd"}},{"ruleId":"D4","level":"warning","message":{"text":"Near-duplicate member pair (501 shared lines): src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:290-868 | src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:873-1448 \u2014 These two members are variants of one another: 501 of their lines are already reported as duplicated blocks below, spread through both bodies rather than gathered into one. Read them as a single construct written twice. The repair is at the members\u0027 grain \u2014 factor the shared pipeline into one implementation the two call with their differences as parameters or as an injected step, or, where the difference is systematic (sync against async, one transport against another), generate one from the other. Extracting the individual blocks below is not the same fix: it leaves the two bodies in place and the next edit still has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":290}}}],"partialFingerprints":{"codehealthFindingId/v1":"f75f3cd7110fa180ab8e4cc81af3cb4db1f91cf187d3fac4a9216d4cc71b0caa"}},{"ruleId":"D4","level":"warning","message":{"text":"Near-duplicate member pair (77 shared lines): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3639-3734 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15810-15897 \u2014 These two members are variants of one another: 77 of their lines are already reported as duplicated blocks below, spread through both bodies rather than gathered into one. Read them as a single construct written twice. The repair is at the members\u0027 grain \u2014 factor the shared pipeline into one implementation the two call with their differences as parameters or as an injected step, or, where the difference is systematic (sync against async, one transport against another), generate one from the other. Extracting the individual blocks below is not the same fix: it leaves the two bodies in place and the next edit still has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3639}}}],"partialFingerprints":{"codehealthFindingId/v1":"494c093718609efc3e0b42176d175d9f447b893e254403d29763d83860c00032"}},{"ruleId":"D4","level":"warning","message":{"text":"Near-duplicate member pair (42 shared lines): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1147-1212 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2914-2974 \u2014 These two members are variants of one another: 42 of their lines are already reported as duplicated blocks below, spread through both bodies rather than gathered into one. Read them as a single construct written twice. The repair is at the members\u0027 grain \u2014 factor the shared pipeline into one implementation the two call with their differences as parameters or as an injected step, or, where the difference is systematic (sync against async, one transport against another), generate one from the other. Extracting the individual blocks below is not the same fix: it leaves the two bodies in place and the next edit still has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1147}}}],"partialFingerprints":{"codehealthFindingId/v1":"b7e3cc1c164eb9e6e40ed6bc0e8a1b9d79b40c9e64686ed18e7bff38099b9f28"}},{"ruleId":"D4","level":"warning","message":{"text":"Edited copy of a member (102 corresponding lines): src/mzmath/MSFinder/FormulaStringParcer.vb:117-239 | src/mzmath/MSFinder/FormulaStringParcer.vb:352-471 \u2014 These two members are one piece of code written twice and then edited apart: 102 consecutive lines correspond almost exactly, broken only by small local edits. Most of that correspondence is NOT reported as duplicated blocks below \u2014 the edits cut it into fragments and only the largest of them clear the block floor, so the rows below understate it. The repair is at the members\u0027 grain \u2014 factor the shared implementation into one the two call with their differences as parameters or as an injected step, or, where the difference is systematic (an extra return value, one transport against another), generate one from the other. Left alone, the next edit has to be made twice and the two will drift further apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":117}}}],"partialFingerprints":{"codehealthFindingId/v1":"65188f002dddf5b77e50b5a3a0672bc83ecab3ce243ae26eac9160c5b1716f26"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (44 members, 50\u002B identical tokens): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1215-1244 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1248-1285 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1288-1323 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2977-3008 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3012-3050 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3053-3088 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3528-3601 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3605-3632 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2581-2697 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3996-4091 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4095-4188 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4312-4407 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4411-4524 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4528-4645 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4649-4758 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4762-4868 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5580-5642 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5646-5714 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5718-5756 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5760-5800 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5803-5840 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6169-6255 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6259-6332 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7604-7660 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7664-7682 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7707-7758 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:8131-8190 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9061-9118 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11578-11663 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11667-11730 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11733-11797 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11849-11913 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11917-11983 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11987-12053 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12057-12120 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12289-12338 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12342-12387 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13373-13427 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13431-13450 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14077-14137 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15608-15715 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15900-15938 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15942-15982 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15985-16022 \u2014 These 44 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 44 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 44 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1215}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc796dd6cadf6c5a9460c459c9e1327b274886f25c07836634886bf1cbdba76e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (39 members, 50\u002B identical tokens): src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb:95-105 | src/metadb/Lipidomics/SpectrumGenerator/BMPSpectrumGenerator.vb:95-104 | src/metadb/Lipidomics/SpectrumGenerator/DGEidSpectrumGenerator.vb:91-101 | src/metadb/Lipidomics/SpectrumGenerator/DGSpectrumGenerator.vb:91-100 | src/metadb/Lipidomics/SpectrumGenerator/DGTASpectrumGenerator.vb:98-106 | src/metadb/Lipidomics/SpectrumGenerator/DGTSSpectrumGenerator.vb:102-110 | src/metadb/Lipidomics/SpectrumGenerator/DGd5SpectrumGenerator.vb:92-101 | src/metadb/Lipidomics/SpectrumGenerator/DMEDFAHFASpectrumGenerator.vb:97-106 | src/metadb/Lipidomics/SpectrumGenerator/HBMPSpectrumGenerator.vb:100-112 | src/metadb/Lipidomics/SpectrumGenerator/LDGTASpectrumGenerator.vb:100-108 | src/metadb/Lipidomics/SpectrumGenerator/LDGTSSpectrumGenerator.vb:100-108 | src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb:103-116 | src/metadb/Lipidomics/SpectrumGenerator/LPCSpectrumGenerator.vb:103-115 | src/metadb/Lipidomics/SpectrumGenerator/LPCd5SpectrumGenerator.vb:103-115 | src/metadb/Lipidomics/SpectrumGenerator/LPEEidSpectrumGenerator.vb:101-110 | src/metadb/Lipidomics/SpectrumGenerator/LPESpectrumGenerator.vb:101-109 | src/metadb/Lipidomics/SpectrumGenerator/LPEd5SpectrumGenerator.vb:101-109 | src/metadb/Lipidomics/SpectrumGenerator/LPGSpectrumGenerator.vb:98-107 | src/metadb/Lipidomics/SpectrumGenerator/LPGd5SpectrumGenerator.vb:97-105 | src/metadb/Lipidomics/SpectrumGenerator/LPISpectrumGenerator.vb:101-109 | src/metadb/Lipidomics/SpectrumGenerator/LPId5SpectrumGenerator.vb:101-109 | src/metadb/Lipidomics/SpectrumGenerator/LPSEidSpectrumGenerator.vb:103-112 | src/metadb/Lipidomics/SpectrumGenerator/LPSSpectrumGenerator.vb:102-110 | src/metadb/Lipidomics/SpectrumGenerator/LPSd5SpectrumGenerator.vb:102-110 | src/metadb/Lipidomics/SpectrumGenerator/PCEidSpectrumGenerator.vb:98-107 | src/metadb/Lipidomics/SpectrumGenerator/PCSpectrumGenerator.vb:98-106 | src/metadb/Lipidomics/SpectrumGenerator/PCd5SpectrumGenerator.vb:98-106 | src/metadb/Lipidomics/SpectrumGenerator/PEEidSpectrumGenerator.vb:99-109 | src/metadb/Lipidomics/SpectrumGenerator/PESpectrumGenerator.vb:99-108 | src/metadb/Lipidomics/SpectrumGenerator/PEd5SpectrumGenerator.vb:101-110 | src/metadb/Lipidomics/SpectrumGenerator/PGEidSpectrumGenerator.vb:99-109 | src/metadb/Lipidomics/SpectrumGenerator/PGSpectrumGenerator.vb:100-109 | src/metadb/Lipidomics/SpectrumGenerator/PGd5SpectrumGenerator.vb:99-108 | src/metadb/Lipidomics/SpectrumGenerator/PIEidSpectrumGenerator.vb:99-110 | src/metadb/Lipidomics/SpectrumGenerator/PISpectrumGenerator.vb:99-108 | src/metadb/Lipidomics/SpectrumGenerator/PId5SpectrumGenerator.vb:99-108 | src/metadb/Lipidomics/SpectrumGenerator/PSEidSpectrumGenerator.vb:102-111 | src/metadb/Lipidomics/SpectrumGenerator/PSSpectrumGenerator.vb:101-110 | src/metadb/Lipidomics/SpectrumGenerator/PSd5SpectrumGenerator.vb:101-110 \u2014 These 39 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 39 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 39 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"0cd296e34405f79a8404151e7950b968aebf30a8fd8dfc4ea9ef435018ef3f70"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (16 members, 50\u002B identical tokens): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1425-1459 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3090-3123 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4195-4240 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6169-6255 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6259-6332 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6336-6368 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7685-7703 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7761-7811 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9061-9118 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13544-13577 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13581-13609 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14235-14270 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14746-14777 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14781-14811 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14815-14831 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14956-14988 \u2014 These 16 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 16 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 16 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1425}}}],"partialFingerprints":{"codehealthFindingId/v1":"794bd36ef5c8deb08228c6f319b159316fe8d9bde32e8de1215686339dc388f7"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (16 members, 50\u002B identical tokens): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:385-549 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:553-699 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:703-830 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:834-943 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:947-1038 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1042-1116 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1120-1174 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1178-1214 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1284-1501 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1505-1698 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1702-1873 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1877-2026 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2030-2156 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2160-2259 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2263-2334 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2338-2385 \u2014 These 16 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 16 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 16 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":385}}}],"partialFingerprints":{"codehealthFindingId/v1":"384c879da0f78b762e731f0d365690d5ee0016fe30103f89d5a776b186d07ad7"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2521-2577 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2581-2697 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3381-3503 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3507-3532 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7429-7499 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9061-9118 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14652-14741 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15608-15715 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16025-16084 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2521}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb705b23bfa51a977032a17f0d5f26d982437e0221b577d5a3d8674ab6dbf969"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:903-933 | src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:937-965 | src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:970-991 | src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:997-1024 | src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:1029-1050 | src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:1055-1076 | src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:1080-1107 | src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:1112-1134 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb"},"region":{"startLine":903}}}],"partialFingerprints":{"codehealthFindingId/v1":"4300a149de2f27b7dc110792257a619203a1bfb3a44dfe556e4e067cc93438af"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2022-2049 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3497-3525 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3341-3376 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13704-13723 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13752-13771 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13775-13794 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13843-13862 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16511-16538 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2022}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ac7cad12e822a138183092ae397f9a7a61b5bd1805264db4fa8aa8e3e185da5"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11578-11663 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11667-11730 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11733-11797 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11800-11821 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11824-11845 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11849-11913 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11917-11983 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11987-12053 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11578}}}],"partialFingerprints":{"codehealthFindingId/v1":"bdef4693bd63ec74e6f4d0b713b71bfdb05fb99aa88e6a5d02939b0b27fd0ede"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12574-12607 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12611-12644 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12647-12679 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12683-12715 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12719-12751 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12755-12787 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12791-12830 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12834-12866 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12574}}}],"partialFingerprints":{"codehealthFindingId/v1":"c46480add421ff16f35119effc28b93bb29b7ffe0038f1f7a9d307d479d257bc"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:149-174 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:408-448 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:565-590 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:612-648 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1027-1049 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1071-1093 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1328-1353 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":149}}}],"partialFingerprints":{"codehealthFindingId/v1":"763da7c4ae40a2149f7b241ac25a164545e25d6be45f07d4b85880925614aca3"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): src/metadb/Lipidomics/SpectrumGenerator/LPCOadSpectrumGenerator.vb:91-115 | src/metadb/Lipidomics/SpectrumGenerator/LPEOadSpectrumGenerator.vb:91-116 | src/metadb/Lipidomics/SpectrumGenerator/PCOadSpectrumGenerator.vb:90-122 | src/metadb/Lipidomics/SpectrumGenerator/PEOadSpectrumGenerator.vb:92-130 | src/metadb/Lipidomics/SpectrumGenerator/PGOadSpectrumGenerator.vb:89-129 | src/metadb/Lipidomics/SpectrumGenerator/PIOadSpectrumGenerator.vb:90-126 | src/metadb/Lipidomics/SpectrumGenerator/TGOadSpectrumGenerator.vb:85-107 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPCOadSpectrumGenerator.vb"},"region":{"startLine":91}}}],"partialFingerprints":{"codehealthFindingId/v1":"0bb55fd2ed72cef84eaed38957e519628231f68735a9fbb25bf50a6dfa16fa68"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb:245-266 | src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb:275-296 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:394-416 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:433-456 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:472-496 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:513-537 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:553-573 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":245}}}],"partialFingerprints":{"codehealthFindingId/v1":"996e994e1d65662af9f8d4f923d2bb754adc4f641d5df2db2f9d81178b92bc78"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): src/metadb/Lipidomics/MsCharacterization/BMPEadMsCharacterization.vb:62-75 | src/metadb/Lipidomics/MsCharacterization/PCEadMsCharacterization.vb:64-77 | src/metadb/Lipidomics/MsCharacterization/PEEadMsCharacterization.vb:63-79 | src/metadb/Lipidomics/MsCharacterization/PGEadMsCharacterization.vb:63-79 | src/metadb/Lipidomics/MsCharacterization/PIEadMsCharacterization.vb:63-79 | src/metadb/Lipidomics/MsCharacterization/PSEadMsCharacterization.vb:63-79 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/BMPEadMsCharacterization.vb"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"c2a76fad4f6e13709721f1fcd291b1ca4b529cee99a88db146f4a0d01dc31e69"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): src/metadb/Lipidomics/SpectrumGenerator/Hex2CerSpectrumGenerator.vb:92-112 | src/metadb/Lipidomics/SpectrumGenerator/HexCerSpectrumGenerator.vb:92-116 | src/metadb/Lipidomics/SpectrumGenerator/SMEidSpectrumGenerator.vb:95-118 | src/metadb/Lipidomics/SpectrumGenerator/SMOadSpectrumGenerator.vb:98-129 | src/metadb/Lipidomics/SpectrumGenerator/SMSpectrumGenerator.vb:98-118 | src/metadb/Lipidomics/SpectrumGenerator/SMd9SpectrumGenerator.vb:95-115 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/Hex2CerSpectrumGenerator.vb"},"region":{"startLine":92}}}],"partialFingerprints":{"codehealthFindingId/v1":"687055b3f66d77b6a5bb793ba2f0d21e86c0c261e4a4f41893e6fb11148d694f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb:182-191 | src/metadb/Lipidomics/SpectrumGenerator/LPEEidSpectrumGenerator.vb:193-202 | src/metadb/Lipidomics/SpectrumGenerator/LPGEidSpectrumGenerator.vb:205-214 | src/metadb/Lipidomics/SpectrumGenerator/LPIEidSpectrumGenerator.vb:215-224 | src/metadb/Lipidomics/SpectrumGenerator/LPSEidSpectrumGenerator.vb:194-203 | src/metadb/Lipidomics/SpectrumGenerator/PAEidSpectrumGenerator.vb:194-203 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb"},"region":{"startLine":182}}}],"partialFingerprints":{"codehealthFindingId/v1":"41bd4216cf761e13b48724563c04d49a2977201e49b36833cb60f9cb3c988906"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): src/metadb/Lipidomics/SpectrumGenerator/MGEidSpectrumGenerator.vb:184-196 | src/metadb/Lipidomics/SpectrumGenerator/PCEidSpectrumGenerator.vb:173-190 | src/metadb/Lipidomics/SpectrumGenerator/PGEidSpectrumGenerator.vb:199-211 | src/metadb/Lipidomics/SpectrumGenerator/PIEidSpectrumGenerator.vb:207-219 | src/metadb/Lipidomics/SpectrumGenerator/PSEidSpectrumGenerator.vb:189-201 | src/metadb/Lipidomics/SpectrumGenerator/SMEidSpectrumGenerator.vb:189-201 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/MGEidSpectrumGenerator.vb"},"region":{"startLine":184}}}],"partialFingerprints":{"codehealthFindingId/v1":"82e10e9cbdbef1a647f8056c2b4bc57435bc7f0762e58f785de4133de9ec6836"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:109-130 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:261-282 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1118-1138 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1158-1180 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1376-1398 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":109}}}],"partialFingerprints":{"codehealthFindingId/v1":"e6b8efc99ba97bda0aadfb7d9b4cea67927014c054083054e1fa8e87a7001611"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16782-16798 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16801-16817 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16820-16836 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16858-16874 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":16782}}}],"partialFingerprints":{"codehealthFindingId/v1":"d46a56f2eb871d820e4c5379c61b64fafb06285c11fef7ccfdfdc3c3bf7c927a"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): src/metadb/Lipidomics/OadSpectrumPeakGenerator.vb:76-113 | src/metadb/Lipidomics/OadSpectrumPeakGenerator.vb:390-419 | src/metadb/Lipidomics/SpectrumPeakGenerator.vb:66-200 | src/metadb/Lipidomics/SpectrumPeakGenerator.vb:212-303 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/OadSpectrumPeakGenerator.vb"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9f4922ca6e862675a5fb7b7e70be18ee8e07556abb4a7d048f382fb2a0bec2f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): src/metadb/Lipidomics/SpectrumGenerator/CLSpectrumGenerator.vb:98-120 | src/metadb/Lipidomics/SpectrumGenerator/CeramideNsD7SpectrumGenerator.vb:95-111 | src/metadb/Lipidomics/SpectrumGenerator/CeramidePhytoSphSpectrumGenerator.vb:94-110 | src/metadb/Lipidomics/SpectrumGenerator/CeramideSpectrumGenerator.vb:97-113 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CLSpectrumGenerator.vb"},"region":{"startLine":98}}}],"partialFingerprints":{"codehealthFindingId/v1":"82f5c0bef0bd5c54fd73ae1e40a53b5d7cd2f9fa24d623e5adea7582ddc2c42b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): src/mzmath/ms2_math-core/Chromatogram/ChromXType.vb:130-141 | src/mzmath/ms2_math-core/Chromatogram/ChromXType.vb:192-203 | src/mzmath/ms2_math-core/Chromatogram/ChromXType.vb:254-265 | src/mzmath/ms2_math-core/Chromatogram/ChromXType.vb:317-328 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Chromatogram/ChromXType.vb"},"region":{"startLine":130}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b4698ef0a0559b71fd3aa8fe63b3c7ab832af9e8517bf7b73dfe0ed7a0c7a87"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (396\u2013398 lines \u00D7 2): src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:414-811 | src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:997-1392 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":414}}}],"partialFingerprints":{"codehealthFindingId/v1":"63890cc888857262fa102fe69ffb9391520ff58001eab5281c32653c4209b8c0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (98 lines \u00D7 3): src/mzmath/MSFinder/FormulaStringParcer.vb:133-230 | src/mzmath/MSFinder/FormulaStringParcer.vb:368-465 | src/mzmath/MSFinder/FormulaStringParcer.vb:497-594 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just before the matched lines, \u0060src/mzmath/MSFinder/FormulaStringParcer.vb:491\u0060 calls \u0060Contains\u0060, \u0060Replace\u0060 and \u0060src/mzmath/MSFinder/FormulaStringParcer.vb:364\u0060 does not \u2014 after which the two agree again for 2 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":133}}}],"partialFingerprints":{"codehealthFindingId/v1":"bccfcea2d693212f641eac9e87ceb93b1a17a0102848916fc13e1cff9ad6cca9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (61 lines \u00D7 2): src/metadb/Chemoinformatics/Formula/SevenGoldenRulesCheck.vb:215-275 | src/metadb/Chemoinformatics/Formula/SevenGoldenRulesCheck.vb:280-340 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/metadb/Chemoinformatics/Formula/SevenGoldenRulesCheck.vb:215\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/SevenGoldenRulesCheck.vb"},"region":{"startLine":215}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd214f753b93731d430685a88bb51c22807839e915f2cb387091a7b4dade0990"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (57 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2623-2679 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15650-15706 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2623}}}],"partialFingerprints":{"codehealthFindingId/v1":"3554eaf7284d0935db14a9eb2052d2b7c74a5e206fd42af82c242a22983b39e4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (58 lines \u00D7 2): src/mzmath/MSEngine/Search/MsScanMatching.vb:825-882 | src/mzmath/MSEngine/Search/MsScanMatching.vb:974-1031 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":825}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b136b0d36ac14b2c56f63accbe20fea03ea0514390ac26dadae3857a9860f57"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (56 lines \u00D7 2): src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:1473-1528 | src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:1637-1692 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":1473}}}],"partialFingerprints":{"codehealthFindingId/v1":"d700757e885bd0a2288b28c27b76b75e472b12f956d23ac548d966794f3a988d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (54 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/LPGSpectrumGenerator.vb:127-180 | src/metadb/Lipidomics/SpectrumGenerator/LPGd5SpectrumGenerator.vb:125-178 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/LPGSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/LPGd5SpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 79 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPGSpectrumGenerator.vb"},"region":{"startLine":127}}}],"partialFingerprints":{"codehealthFindingId/v1":"da0a32ed311af89798b2b4bc7d723db3ac6a8e5d14a19b998b65ef5c45d5f390"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (47\u201348 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4033-4079 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4130-4177 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4033}}}],"partialFingerprints":{"codehealthFindingId/v1":"36d87eebf259e02c4aae3e44db1735aa0df2934c844f22e2f4ed22bbcc1483a3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (40 lines \u00D7 5): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4351-4390 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4448-4487 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4569-4608 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4683-4722 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4793-4832 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4351}}}],"partialFingerprints":{"codehealthFindingId/v1":"38b9b33fe171f00f43d6630759eaa0de7b17b46968412d71a241a708c7c21a1c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (31\u201341 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3541-3581 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6284-6324 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11594-11624 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3541}}}],"partialFingerprints":{"codehealthFindingId/v1":"adba2d9d538286507aadebd61208ef23858c3274cd68f3ea7ca5ccd60b6f6ef7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (4\u201341 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3381-3421 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14692-14695 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16025-16065 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14692\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3381}}}],"partialFingerprints":{"codehealthFindingId/v1":"1fa5e517c0e286b8f7382f7c55dc6194609393d17cbaedfacef421097eb9819a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (39\u201340 lines \u00D7 2): src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb:5526-5564 | src/metadb/Lipidomics/LipoqualityDatabaseManagerUtility.vb:821-860 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb"},"region":{"startLine":5526}}}],"partialFingerprints":{"codehealthFindingId/v1":"c2ca3589f1b83a63c0acd45b02654bb51d64a81204a6a68a1ab929372156b8fe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (33\u201335 lines \u00D7 3): src/metadb/Lipidomics/LipoqualityDatabaseManagerUtility.vb:275-307 | src/metadb/Lipidomics/LipoqualityDatabaseManagerUtility.vb:318-351 | src/metadb/Lipidomics/LipoqualityDatabaseManagerUtility.vb:363-397 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityDatabaseManagerUtility.vb"},"region":{"startLine":275}}}],"partialFingerprints":{"codehealthFindingId/v1":"65f689bc473bafb0fd962eead914df9ab632413290d93f21b86fc61c92960b6f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (32\u201334 lines \u00D7 7): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4048-4079 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4145-4177 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4358-4391 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4455-4488 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4576-4609 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4690-4723 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4800-4833 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4048}}}],"partialFingerprints":{"codehealthFindingId/v1":"233885f52b75f6540504035c0f13da6a128ea9fca99208d2a30211b02b3ecef9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (34 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3639-3672 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15810-15843 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3639}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f8cf76d1adcf0ee1d8547f7ce679a11af3de6538c9e44843f6da2bf6298a691"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (26\u201332 lines \u00D7 3): src/mzmath/mz_deco/Preprocessing/BatchCorrection.vb:236-267 | src/mzmath/mz_deco/Preprocessing/BatchCorrection.vb:298-323 | src/mzmath/mz_deco/Preprocessing/BatchCorrection.vb:564-593 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/BatchCorrection.vb"},"region":{"startLine":236}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef384181f1b1b127312a08c9d0e1ab196907284f3f4871382c58ea9102336e65"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18\u201332 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1787-1804 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12197-12228 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1787}}}],"partialFingerprints":{"codehealthFindingId/v1":"f3fa4e78e69f71428880d5739f7c05085996e99cdd637eabdf0f95a6443eafd2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (28\u201332 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9901-9928 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9979-10010 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9901}}}],"partialFingerprints":{"codehealthFindingId/v1":"473603fbb1acc2ba1ec47b174b9fc985ba297a542c9eb53fd91c3f05d7a370b2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (26 lines \u00D7 2): src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:383-408 | src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:966-991 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":383}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c5f06ce76f1b03c5bbbdb4ef3f08dd2757d681e43d9d3c2237e572fd69ff0ba"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18\u201331 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2523-2540 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7434-7464 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2523}}}],"partialFingerprints":{"codehealthFindingId/v1":"384aa3f156f8871de4bef4fac8cad9901b463df4df6fa759e3966e18a74770ee"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20\u201330 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13590-13609 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14959-14988 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13590}}}],"partialFingerprints":{"codehealthFindingId/v1":"634b041139038b120eed97a3451e18b00ef82965c90176cf03f596af943568e3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10\u201330 lines \u00D7 2): src/mzmath/MSFinder/FormulaGenerator.vb:277-286 | src/mzmath/MSFinder/FormulaGenerator.vb:536-565 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaGenerator.vb"},"region":{"startLine":277}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5416c92666627e6197f97876f9db462992964039bc21f59f8b2446ec6ff25af"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (28\u201329 lines \u00D7 6): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11677-11705 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11743-11771 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11859-11886 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11930-11957 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12000-12027 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12073-12100 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11677}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a829bace1ffe49289617885f62f653a3bb96bfbcf93bf7e0a28d53738e00586"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10\u201329 lines \u00D7 4): src/metadb/Lipidomics/SpectrumGenerator/PCOadSpectrumGenerator.vb:93-121 | src/metadb/Lipidomics/SpectrumGenerator/PEOadSpectrumGenerator.vb:120-129 | src/metadb/Lipidomics/SpectrumGenerator/PGOadSpectrumGenerator.vb:119-128 | src/metadb/Lipidomics/SpectrumGenerator/PIOadSpectrumGenerator.vb:116-125 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/PGOadSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/PIOadSpectrumGenerator.vb\u0060 as WHOLE FILES: 84% of the shorter file\u0027s lines also appear in the other, so this reads as one file having been copied from the other rather than as a helper waiting to be extracted. The 2 duplicated block(s) this scan matched between them are fragments of that copy, not the extent of it \u2014 treat the file pair as the unit. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PCOadSpectrumGenerator.vb"},"region":{"startLine":93}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e6fb26361c4b01aab5faa9d5ba1c424cdf3f527b3bcdb0084234e561a6036a1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (28 lines \u00D7 2): src/metadb/Lipidomics/LipidParser/CeramideLipidParser.vb:75-102 | src/metadb/Lipidomics/LipidParser/HexCerLipidParser.vb:74-101 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/metadb/Lipidomics/LipidParser/CeramideLipidParser.vb:104\u0060 calls \u0060classGroup\u0060 and \u0060src/metadb/Lipidomics/LipidParser/HexCerLipidParser.vb:103\u0060 does not \u2014 after which the two agree again for 4 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidParser/CeramideLipidParser.vb"},"region":{"startLine":75}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ca6e78f269179d796b69b9d42bacd379867a9f44ebae2343d2536d8f526fd7b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (27\u201328 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1206-1232 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1275-1302 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1206\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":1206}}}],"partialFingerprints":{"codehealthFindingId/v1":"c20c74ddd87766581dd5a990c061be09d4f245fd7c011d598537876a4e8e3cc5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (26 lines \u00D7 2): src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:843-868 | src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:1423-1448 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":843}}}],"partialFingerprints":{"codehealthFindingId/v1":"3404d66294c5aad7785c5da3b2fdddaf34f897628f5a82f32deef78ea1f906f0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (21\u201327 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1224-1244 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5730-5756 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1224}}}],"partialFingerprints":{"codehealthFindingId/v1":"38b50e051389ba3c5312adc64187b7f05e739b579389c1de7d9c90d790744dc3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (22\u201327 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2987-3008 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15912-15938 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2987}}}],"partialFingerprints":{"codehealthFindingId/v1":"769305a6710f57f8ee5315b0b8e362d70daf2dbac0d75da6d6f60591687c75c5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (27 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3678-3704 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15845-15871 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3678}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ab03e05c18966780e350671573e73bd4685c79882cdac51a90125969045cfe6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (26 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5760-5785 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15942-15967 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5760}}}],"partialFingerprints":{"codehealthFindingId/v1":"09769cea020303aaf70840560fde7fab1b3d3760ed1d30cdf079903119d8b6b0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19\u201327 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:8146-8164 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9080-9106 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":8146}}}],"partialFingerprints":{"codehealthFindingId/v1":"f353a7f0859bb3657577fbfa907b701418c25b7204819173aec2fc436e9c7df5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (26 lines \u00D7 3): src/assembly/NMRFidTool/Math/phasing/DSPPhaseCorrection.vb:101-126 | src/assembly/NMRFidTool/Math/phasing/DSPPhaseCorrection.vb:149-174 | src/assembly/NMRFidTool/Math/phasing/DSPPhaseCorrection.vb:197-222 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/phasing/DSPPhaseCorrection.vb"},"region":{"startLine":101}}}],"partialFingerprints":{"codehealthFindingId/v1":"85365d840d658210ee0ddb56dd22f8eff48760604d3c94df043724d9d7c6b135"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (26 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1260-1285 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5775-5800 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1260}}}],"partialFingerprints":{"codehealthFindingId/v1":"a249abed0e2d361e9789b5b5bb26fdbac490340321ffac127fcb7b793a52a1e5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (26 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1298-1323 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5815-5840 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1298}}}],"partialFingerprints":{"codehealthFindingId/v1":"524aa6cd53d84ffe0a612c8f877769fd20253bd27bdc71518eb5047de371f6ce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (26 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3025-3050 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15957-15982 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3025}}}],"partialFingerprints":{"codehealthFindingId/v1":"f83375ef3d286e93c6197b65390bcf46e6bd5b61f923da174cbb75995f4ab945"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (26 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3063-3088 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15997-16022 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3063}}}],"partialFingerprints":{"codehealthFindingId/v1":"61c103179d880aefb6aba45e34f237bd50c24333ca5ff6e22aca0c5201b165aa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (24\u201325 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1248-1271 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3012-3036 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1248}}}],"partialFingerprints":{"codehealthFindingId/v1":"f24a6fa540d922c0daad6a26be588522c97fe3a3d371f026e40010b0cf03553f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (22 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2023-2044 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3498-3519 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2023}}}],"partialFingerprints":{"codehealthFindingId/v1":"09505c13e61fcec7eb8d84cf9ed97378252cb425f5e8f8cab6708e7ca532fa12"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (24 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/CLEidSpectrumGenerator.vb:177-200 | src/metadb/Lipidomics/SpectrumGenerator/CLSpectrumGenerator.vb:163-186 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/CLEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/CLSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 38 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CLEidSpectrumGenerator.vb"},"region":{"startLine":177}}}],"partialFingerprints":{"codehealthFindingId/v1":"f8f6d4553bede075273d7c704be3320dd93719c2c1df329662fdbce4d74905f6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (22\u201324 lines \u00D7 2): src/mzmath/TargetedMetabolomics/LinearQuantitative/Linear/InternalStandardMethod.vb:175-198 | src/mzmath/TargetedMetabolomics/MRM/QuantitativeAnalysis/StandardCurveWorker.vb:236-257 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/Linear/InternalStandardMethod.vb"},"region":{"startLine":175}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d8420e8f985c364a202241a02bbd6b7434dd70ac654b8d5a96282724760ee3d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20\u201323 lines \u00D7 3): src/metadb/Lipidomics/SpectrumGenerator/SMEidSpectrumGenerator.vb:95-117 | src/metadb/Lipidomics/SpectrumGenerator/SMSpectrumGenerator.vb:98-117 | src/metadb/Lipidomics/SpectrumGenerator/SMd9SpectrumGenerator.vb:95-114 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/SMEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/SMSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 66 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/SMEidSpectrumGenerator.vb"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"6e466bb334ff9529353a3b2a7e2dfa023776321ef3289cab2883ace6b1db44a4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (22 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5719-5740 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15901-15922 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5719}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b615655e13e003731f686506a679ac34554d18616da3a9138d87cbaed70d5ad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (22 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5804-5825 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15986-16007 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5804}}}],"partialFingerprints":{"codehealthFindingId/v1":"877d65bb3d8ac0d0c67400999c14c3888f73cff485ccf83638a3b4104de80c24"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18\u201322 lines \u00D7 6): src/metadb/Lipidomics/SpectrumGenerator/Hex2CerSpectrumGenerator.vb:94-111 | src/metadb/Lipidomics/SpectrumGenerator/HexCerSpectrumGenerator.vb:94-115 | src/metadb/Lipidomics/SpectrumGenerator/SMEidSpectrumGenerator.vb:97-117 | src/metadb/Lipidomics/SpectrumGenerator/SMOadSpectrumGenerator.vb:110-128 | src/metadb/Lipidomics/SpectrumGenerator/SMSpectrumGenerator.vb:100-117 | src/metadb/Lipidomics/SpectrumGenerator/SMd9SpectrumGenerator.vb:97-114 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/SMEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/SMSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 66 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/Hex2CerSpectrumGenerator.vb"},"region":{"startLine":94}}}],"partialFingerprints":{"codehealthFindingId/v1":"63642d3b47f396acb9e343b38ba61b2deee4decb26afd43349170dcd9eae4c27"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (21\u201322 lines \u00D7 6): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:500-521 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:655-676 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:792-812 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:910-930 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1010-1030 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1093-1113 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":500}}}],"partialFingerprints":{"codehealthFindingId/v1":"ddf6fce5e30589a9864ea73baf30986c090e06aa154ab13cc04473a968a6263e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13\u201322 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2525-2538 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3386-3398 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7441-7462 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16030-16042 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2525}}}],"partialFingerprints":{"codehealthFindingId/v1":"300a829db65dfb6f9900a8d5729a02c2352525b6ce2ccb24e3f78c9f70f7c3a4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (22 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3551-3580 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5602-5623 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6294-6323 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just before the matched lines, \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5600\u0060 calls \u0060fattyacidProductIon\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3549\u0060 does not \u2014 after which the two agree again for 3 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3551}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c1fbd08f12dec5629d1ce1b7c0947913404d3a98ea3b59962bc1dd9f5bb2d15"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19\u201322 lines \u00D7 3): src/metadb/Lipidomics/SpectrumGenerator/LPCOadSpectrumGenerator.vb:94-114 | src/metadb/Lipidomics/SpectrumGenerator/LPEOadSpectrumGenerator.vb:94-115 | src/metadb/Lipidomics/SpectrumGenerator/TGOadSpectrumGenerator.vb:88-106 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from all 3 call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPCOadSpectrumGenerator.vb"},"region":{"startLine":94}}}],"partialFingerprints":{"codehealthFindingId/v1":"68bb9fa421dd7b07d76a4d7d721e08595c1f69f780f4dca20fc6d3f68c7e200d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 2): Rscript/Library/mzkit_app/src/mzkit/annotations/Massbank.vb:916-934 | Rscript/Library/mzkit_app/src/mzkit/annotations/Massbank.vb:940-958 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/Massbank.vb"},"region":{"startLine":916}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ad710bb925993f566ae1f02aff304ccc6e565f79c30e604e11de6a22ac22ad1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:339-354 | src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:922-937 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":339}}}],"partialFingerprints":{"codehealthFindingId/v1":"cece198acce7f748fc99e4f09d6296782fb33141e2afd4221201ffb6f468c3f8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (21 lines \u00D7 2): src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:1570-1590 | src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:1611-1631 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":1570}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4555bad2efe960ad0db3f9691b8aac1d6cd45c2b9f0e863ed065bf1ee7ef001"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (21 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1288-1308 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3053-3073 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1288}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c9591fe6b520e9f4a5b753929790ff096889db55dbef70c8408749db5ecdf27"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18\u201322 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5583-5600 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7607-7628 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5583}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a842855772972d9b782e60d9ffe6a07a176b9dd13b4ec3c0d0340d459677c0f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (22 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb:125-146 | src/metadb/Lipidomics/SpectrumGenerator/BMPSpectrumGenerator.vb:124-145 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/BMPSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 55 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb"},"region":{"startLine":125}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f5165165a886e25c602c0db593ba31276b5428c8e4d172b2240ca0013d70958"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (22 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/PGSpectrumGenerator.vb:174-195 | src/metadb/Lipidomics/SpectrumGenerator/PGd5SpectrumGenerator.vb:173-194 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/PGSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/PGd5SpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 68 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PGSpectrumGenerator.vb"},"region":{"startLine":174}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe6d22f50250ee7f076e38003096320689005c767eceedde2762aeebabb7f6fd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20\u201321 lines \u00D7 7): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:497-516 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:652-672 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:789-808 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:907-926 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1007-1026 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1090-1109 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1154-1173 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1111\u0060 calls \u0060getAccurateMultiplatedIsotopeElement\u0060, \u0060getAccurateMargedIsotopeElement\u0060 and \u0060src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1174\u0060 does not \u2014 after which the two agree again for 2 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":497}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d5554454c2612ee0fcfc00d045fd146579eab5f1e32a9a7c92d32d5290eab2f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18\u201321 lines \u00D7 3): src/metadb/Lipidomics/SpectrumGenerator/EtherPCSpectrumGenerator.vb:101-118 | src/metadb/Lipidomics/SpectrumGenerator/EtherPEEidSpectrumGenerator.vb:102-122 | src/metadb/Lipidomics/SpectrumGenerator/EtherPESpectrumGenerator.vb:102-122 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from all 3 call sites, so a change lands once. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/metadb/Lipidomics/SpectrumGenerator/EtherPEEidSpectrumGenerator.vb:122\u0060 calls \u0060AddRange\u0060, \u0060EidSpecificSpectrum\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/EtherPCSpectrumGenerator.vb:118\u0060 does not \u2014 after which the two agree again for 5 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/EtherPCSpectrumGenerator.vb"},"region":{"startLine":101}}}],"partialFingerprints":{"codehealthFindingId/v1":"854f181552ee59868dfad47ca7d4a7a9442310ea93fea973bb1e25cc95e178bb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19\u201320 lines \u00D7 8): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:492-511 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:647-666 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:784-803 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:902-921 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1002-1021 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1085-1104 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1149-1168 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1194-1212 \u2014 all 8 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1170\u0060 calls \u0060getAccurateMultiplatedIsotopeElement\u0060, \u0060getAccurateMargedIsotopeElement\u0060 and \u0060src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1214\u0060 does not \u2014 after which the two agree again for 2 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":492}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea3bb1e417b79de65c6647c798e11aff01cdb58aa7b3b1bd5aef1aa8af386595"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18\u201320 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:109-127 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:261-279 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1118-1135 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1158-1177 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":109}}}],"partialFingerprints":{"codehealthFindingId/v1":"d17bdfb58f75667bdf735965ffe7dfddfb1b9ab0b11948c4b54a13deb8cab6aa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18\u201320 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4025-4044 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4122-4141 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4433-4450 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4025}}}],"partialFingerprints":{"codehealthFindingId/v1":"366d066529d768d18ebd3e7338dab23f42f96e6edcd042bcba951c6448723e70"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:290-307 | src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:873-890 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":290}}}],"partialFingerprints":{"codehealthFindingId/v1":"526fc1df53d6db15ed36002e623d2812fa17eb6868af28e43b492e10a9e7c6d9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16\u201320 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:575-590 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:629-648 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:575\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":575}}}],"partialFingerprints":{"codehealthFindingId/v1":"f917ac85973bf676acb75da512c6e0428f408c7112d2f725386f6c1f4611e6eb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15\u201320 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3663-3677 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3695-3714 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3663}}}],"partialFingerprints":{"codehealthFindingId/v1":"21a877993cc70862445bac7bb5159fc1ee43e0f92fdbb93319e0d59133ae8abb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6261-6272 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6338-6349 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6261}}}],"partialFingerprints":{"codehealthFindingId/v1":"49acec28f28ec6c205f16b2acf025a02d23adf806179ce769edbb3f75303192a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12126-12145 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12180-12199 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12126}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2cdd0f61dce6e3e71144862dad4ae3a1bdfc694f9539281eb9cbecafb381433"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18\u201319 lines \u00D7 6): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:508-526 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:529-546 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:663-681 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:800-817 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:918-935 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1018-1035 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":508}}}],"partialFingerprints":{"codehealthFindingId/v1":"19f795038ca90d335410c159504a3211ab2348e0b00a933bb73aa6533521cd02"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18\u201319 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1186-1203 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2947-2965 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1186}}}],"partialFingerprints":{"codehealthFindingId/v1":"39d4a4ff7fa5ed49a17dc2e332ccb51cab7c85f8e92edc48472219e2e80c89a8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1821-1837 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14795-14811 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1821}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f7317e3540293e3ab120d6b0ad11d1c37aa1133c33d2829a3baf457ab747355"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12810-12826 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12846-12862 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12810}}}],"partialFingerprints":{"codehealthFindingId/v1":"92435d85786c473a2b6175628b3daab3b94a24b78295210984bc668504a2e811"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17\u201318 lines \u00D7 5): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:149-165 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:565-581 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1027-1043 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1071-1087 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1328-1345 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:581\u0060 calls \u0060acyls\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1043\u0060 does not \u2014 after which the two agree again for 4 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":149}}}],"partialFingerprints":{"codehealthFindingId/v1":"c19fb3c5131139b861d1156e4cf37df9f88e577d7e2eaeed43581c417c528b16"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17\u201318 lines \u00D7 3): src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb:2814-2830 | src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb:2997-3014 | src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb:3047-3063 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb"},"region":{"startLine":2814}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab95ed13f07eae77d7e8f8ca90271eed961df12819dca8142f6419efbdf858a9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): Rscript/Library/mzkit_app/src/mzkit/assembly/Assembly.vb:625-643 | Rscript/Library/mzkit_app/src/mzkit/assembly/Assembly.vb:662-679 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/Assembly.vb"},"region":{"startLine":625}}}],"partialFingerprints":{"codehealthFindingId/v1":"15f16e4079f3fdf130b139a36261dc6761f8ff61e23103a628e9fa05998456e1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:729-743 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:982-996 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":729}}}],"partialFingerprints":{"codehealthFindingId/v1":"56652cbccf8ff3e38b6e32d50c18bade28659974383c026737e7fee6fe180eaf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11800-11817 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11824-11841 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11800}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7c940c494b3546d17a3d1b24e95f31f1c9e85be1bd992f2a8613c7f607db961"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14846-14855 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14891-14900 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14846}}}],"partialFingerprints":{"codehealthFindingId/v1":"e072eec1a82cae30a74ae8edc354ba23dd9d8fd26900544fe4f3a52d7253785a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/mzmath/ms2_math-core/Spectra/Centroids.vb:56-72 | src/mzmath/ms2_math-core/Spectra/Centroids.vb:105-121 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/mzmath/ms2_math-core/Spectra/Centroids.vb:56\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Centroids.vb"},"region":{"startLine":56}}}],"partialFingerprints":{"codehealthFindingId/v1":"4faa4494b31a1610c0830b3f2ec2cbddfd565939cc8e386928481345134671f7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201317 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11777-11793 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11892-11902 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11963-11973 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12032-12042 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11777}}}],"partialFingerprints":{"codehealthFindingId/v1":"79407a91dad838da9c1bd22289bc44dfe300c1045fce5643662ebce4ec31c39c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16\u201317 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4097-4112 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4413-4428 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4530-4546 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4097}}}],"partialFingerprints":{"codehealthFindingId/v1":"92a0caca15de6e304600e64a3fcfd6814c2321845ba8e7d8eee8414535930309"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): Rscript/Library/mzkit_app/src/mzkit/assembly/MzWeb.vb:180-193 | Rscript/Library/mzkit_app/src/mzkit/assembly/MzWeb.vb:226-239 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060Rscript/Library/mzkit_app/src/mzkit/assembly/MzWeb.vb:180\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/MzWeb.vb"},"region":{"startLine":180}}}],"partialFingerprints":{"codehealthFindingId/v1":"dbe243a078fbf98b64e868efda36ac69111640fd7f2430ef57027d539a256f64"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:1010-1024 | src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:1093-1107 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb"},"region":{"startLine":1010}}}],"partialFingerprints":{"codehealthFindingId/v1":"516dab193cde53c29778b587c3858ce958a90d0dbe218fb60ba395d426cc02ab"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16\u201317 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1215-1230 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2977-2993 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1215}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b91fe74206c01e423b1906c5b7ee1956ba91ac336dadf2293c3eae9f439c972"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16\u201317 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3528-3544 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3605-3620 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3528}}}],"partialFingerprints":{"codehealthFindingId/v1":"5cb7c2dc2c8858e8440ad02eb52497f59607a74cd5079d404e94c2504d08e80b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3715-3730 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15878-15893 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3715}}}],"partialFingerprints":{"codehealthFindingId/v1":"44eff052ebfa6bc4191eb769c920d9f2697af3f3d8c90a488f59a5d050bf2b24"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7822-7835 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7894-7907 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7822}}}],"partialFingerprints":{"codehealthFindingId/v1":"32de5f9d55a0f0325430def6892b1b53e99602333c4339098f23fc9a243baa22"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13544-13559 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13581-13596 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13544}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8abba1fbd93b92d8f0c2f2b239d06416db228e747527c29d730f3fff98945ae"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15\u201316 lines \u00D7 20): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:432-446 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:448-462 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:464-478 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:480-494 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:595-609 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:611-625 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:627-641 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:643-657 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:740-754 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:756-770 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:772-786 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:866-880 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:882-896 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:898-912 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:974-988 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:990-1004 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1064-1079 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1081-1095 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1137-1151 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1190-1204 \u2014 all 20 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:643\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":432}}}],"partialFingerprints":{"codehealthFindingId/v1":"c084fe57405d21715cb872181699c8556f6d4504c9207d792e16a91abd5927e0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 8): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:505-521 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:526-541 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:660-676 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:681-696 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:797-812 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:915-930 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1015-1030 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1098-1113 \u2014 all 8 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:505\u0060 it begins part-way through the construct above it, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":505}}}],"partialFingerprints":{"codehealthFindingId/v1":"34ab26a2b53bdb0a2930caa8d472db222df7abfde713f9059b0bf89ccd240547"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 6): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:534-549 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:684-699 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:815-830 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:928-943 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1023-1038 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1101-1116 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":534}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab0f971a35c72c0334399af631705fb54f70539ccd4181ffff20d263617241f2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 5): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11640-11659 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11713-11728 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11780-11795 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11804-11819 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11828-11843 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11640}}}],"partialFingerprints":{"codehealthFindingId/v1":"5542cb77a8f8778a72826aefd4484c698ae00ab54b67f4baa40c2636a27d86c5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3649-3662 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3681-3694 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15820-15833 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15848-15861 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3649}}}],"partialFingerprints":{"codehealthFindingId/v1":"54201083813fa428ea546352d40a87e497b92abfe46eff2f968423eaae60387f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13\u201316 lines \u00D7 4): src/metadb/Lipidomics/SpectrumGenerator/CLSpectrumGenerator.vb:104-119 | src/metadb/Lipidomics/SpectrumGenerator/CeramideNsD7SpectrumGenerator.vb:98-110 | src/metadb/Lipidomics/SpectrumGenerator/CeramidePhytoSphSpectrumGenerator.vb:97-109 | src/metadb/Lipidomics/SpectrumGenerator/CeramideSpectrumGenerator.vb:100-112 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/CeramidePhytoSphSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/CeramideSpectrumGenerator.vb\u0060 as WHOLE FILES: 88% of the shorter file\u0027s lines also appear in the other, so this reads as one file having been copied from the other rather than as a helper waiting to be extracted. The 2 duplicated block(s) this scan matched between them are fragments of that copy, not the extent of it \u2014 treat the file pair as the unit. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CLSpectrumGenerator.vb"},"region":{"startLine":104}}}],"partialFingerprints":{"codehealthFindingId/v1":"01e0329d1e00cb117216edf7bfff080e01b82fc3970979cb3c57405f8c207e99"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/assembly/Comprehensive/MsImaging/MergeSliders/MergeLinear.vb:111-126 | src/assembly/Comprehensive/MsImaging/MergeSliders/MergeLinear.vb:163-178 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/MsImaging/MergeSliders/MergeLinear.vb"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c0c68ce76e3e0b64f404ac3a7efe46ac12ee75a872be2d42c4b323ba724cb43"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1147-1161 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2914-2928 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1147}}}],"partialFingerprints":{"codehealthFindingId/v1":"d17636fbce310e6d7b3994ee2d6f6a623c3da7bd55b38dcabce00d7c4990e08e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201316 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9889-9899 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9971-9986 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9889}}}],"partialFingerprints":{"codehealthFindingId/v1":"6fdd0efdc66d84fac675de2110b13747026546b00e4d452019fcb27bc080d001"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12310-12329 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12363-12378 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12310}}}],"partialFingerprints":{"codehealthFindingId/v1":"2222ba3d0953351fd32fbb5d3bf79dabd79d4cf0f39a5a195ac761da91fe03b9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14\u201316 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14746-14761 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14815-14828 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14746}}}],"partialFingerprints":{"codehealthFindingId/v1":"bbc06c470203c20a3fd7871990cc21031753cf623a87629a3a9a03426c457580"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/metadb/Lipidomics/SeparatedChains.vb:197-210 | src/metadb/Lipidomics/SeparatedChains.vb:228-241 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SeparatedChains.vb"},"region":{"startLine":197}}}],"partialFingerprints":{"codehealthFindingId/v1":"5765e3f5606ade4cec7d87b6f8ab897d3de25d3f0c994ffd7e4926739d83201f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGeneratorUtility.vb:79-93 | src/metadb/Lipidomics/SpectrumGeneratorUtility.vb:105-119 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just before the matched lines, \u0060src/metadb/Lipidomics/SpectrumGeneratorUtility.vb:76\u0060 calls \u0060diffs\u0060 and \u0060src/metadb/Lipidomics/SpectrumGeneratorUtility.vb:102\u0060 does not \u2014 after which the two agree again for 3 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGeneratorUtility.vb"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"3415ec98643d4be7fdda801e3673a8ae3344f8da87b0078c50caddfc289f40d6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/mzmath/Oligonucleotide_MS/MS_Peak/Oligonucleotide_MS_Peak_ID_Given_Sequence_v8.vb:261-275 | src/mzmath/Oligonucleotide_MS/MS_Peak/Oligonucleotide_MS_Peak_ID_Given_Sequence_v8.vb:284-298 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/MS_Peak/Oligonucleotide_MS_Peak_ID_Given_Sequence_v8.vb"},"region":{"startLine":261}}}],"partialFingerprints":{"codehealthFindingId/v1":"cba9662f4e04d813e442884bfc4da69edc84fc2b1989968a2493d0107f3e406f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12\u201316 lines \u00D7 2): src/mzmath/mz_deco/Signals/PeakFinding/PeakProcessor.vb:116-131 | src/mzmath/mz_deco/Signals/PeakFinding/PeakProcessor.vb:186-197 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakProcessor.vb"},"region":{"startLine":116}}}],"partialFingerprints":{"codehealthFindingId/v1":"15167f917ad88a3d1256262f3ffdefaf8049051207a01a6fd97220c9b07dd574"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 9): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:506-521 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:522-536 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:661-676 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:677-691 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:798-812 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:813-827 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:916-930 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1016-1030 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1099-1113 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":506}}}],"partialFingerprints":{"codehealthFindingId/v1":"84537be091f5575c13fa64ce6d0cdbb85bda1373943bed73a5d6dcba09818e0d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 3): src/metadb/Lipidomics/SpectrumGenerator/TGEidSpectrumGenerator.vb:97-111 | src/metadb/Lipidomics/SpectrumGenerator/TGSpectrumGenerator.vb:96-110 | src/metadb/Lipidomics/SpectrumGenerator/TGd5SpectrumGenerator.vb:99-113 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/TGEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/TGSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 49 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/TGEidSpectrumGenerator.vb"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8e35aa96ad35539cfb177251a45e06d2e9a003a4444878841c75a3751a82c73"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2030-2040 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3348-3362 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2030}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ee768fcef83660fcc971a68c5a00fe6367f39697f2dc59c3831ccff5c807c1a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb:187-201 | src/metadb/Lipidomics/SpectrumGenerator/BMPSpectrumGenerator.vb:188-202 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/BMPSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 55 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb"},"region":{"startLine":187}}}],"partialFingerprints":{"codehealthFindingId/v1":"9205f049e009775b337f46be7d898e72d3a7fa9fbbd823f10f1caf18bc7e9d15"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14\u201315 lines \u00D7 2): src/mzmath/MSEngine/SpectrumHandler.vb:181-194 | src/mzmath/MSEngine/SpectrumHandler.vb:202-216 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/SpectrumHandler.vb"},"region":{"startLine":181}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4c474a8207d97fa798edbcc705c7368f302da3bef1f39bb1a4aad93e75c64c3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14\u201315 lines \u00D7 2): src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb:156-170 | src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb:192-205 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":156}}}],"partialFingerprints":{"codehealthFindingId/v1":"e3f407f48ab7a26c6c772e414706be711ed231a398ba19ea18cabc49302a5209"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/mzmath/mz_deco/Preprocessing/Normalization.vb:130-141 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:175-186 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/Normalization.vb"},"region":{"startLine":130}}}],"partialFingerprints":{"codehealthFindingId/v1":"75fea0dfdc4190e1118e532b7f040d55ca9dd87506a8461852d50a6630a67f93"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/mzmath/mz_deco/Preprocessing/Normalization.vb:397-411 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:436-450 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/mzmath/mz_deco/Preprocessing/Normalization.vb:451\u0060 calls \u0060Sqrt\u0060 and \u0060src/mzmath/mz_deco/Preprocessing/Normalization.vb:412\u0060 does not \u2014 after which the two agree again for 4 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/Normalization.vb"},"region":{"startLine":397}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ccbef990f30d69ee146485176ba3dfe7ed043818b06808843992280713a1525"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13\u201315 lines \u00D7 2): src/mzmath/mz_deco/Signals/PeakFinding/PeakDetector.vb:359-373 | src/mzmath/mz_deco/Signals/centWave/centWave.vb:27-39 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakDetector.vb"},"region":{"startLine":359}}}],"partialFingerprints":{"codehealthFindingId/v1":"faff4921d84a50d522d3bfeeb65e768ab8220c34c4d3580b9bf259cb752f2a76"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13\u201314 lines \u00D7 7): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12611-12623 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12647-12659 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12683-12695 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12719-12731 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12755-12767 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12791-12804 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12834-12846 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12611}}}],"partialFingerprints":{"codehealthFindingId/v1":"68856fe38ae2048c82468555e8f11b600f1e02b183d32ebaa5901efd908dfd1a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201314 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11592-11605 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11928-11938 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11998-12008 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12071-12081 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11592}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc0ffb46808d66679e3ae09c3777fbb1b67c5bb5e45e0f0fd2f9516ea98e7589"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16782-16793 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16801-16812 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16820-16831 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16858-16869 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":16782}}}],"partialFingerprints":{"codehealthFindingId/v1":"85bb42f4f62f743efbc511256692c386da3bb0e1faf3dbd369230d4b2c18fd42"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201314 lines \u00D7 4): src/metadb/Lipidomics/OadSpectrumPeakGenerator.vb:85-95 | src/metadb/Lipidomics/OadSpectrumPeakGenerator.vb:399-409 | src/metadb/Lipidomics/SpectrumPeakGenerator.vb:81-94 | src/metadb/Lipidomics/SpectrumPeakGenerator.vb:230-240 \u2014 there are 4 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/OadSpectrumPeakGenerator.vb"},"region":{"startLine":85}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb12e782f1815abc740d661e4b9f57ea0f9cdfcd5f8bf705e0901fca64f82458"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1774-1785 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12126-12137 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12180-12191 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1774}}}],"partialFingerprints":{"codehealthFindingId/v1":"677959e2937462b5a12ef9f05459f9d28b50822ea0883f9e8650954e1155b9b5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 3): src/metadb/Lipidomics/SpectrumGenerator/LPIEidSpectrumGenerator.vb:189-202 | src/metadb/Lipidomics/SpectrumGenerator/LPISpectrumGenerator.vb:192-205 | src/metadb/Lipidomics/SpectrumGenerator/LPId5SpectrumGenerator.vb:192-205 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/LPIEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/LPISpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 71 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPIEidSpectrumGenerator.vb"},"region":{"startLine":189}}}],"partialFingerprints":{"codehealthFindingId/v1":"21027966c93c0628e1d741b6b0f29135cc298b5697d4a960440896bcdc970d82"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): Rscript/Library/mzkit_app/src/mzquant/mzDeco.vb:1730-1743 | Rscript/Library/mzkit_app/src/mzquant/mzDeco.vb:1789-1802 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/mzDeco.vb"},"region":{"startLine":1730}}}],"partialFingerprints":{"codehealthFindingId/v1":"71ec5d90c033923f25aa165587a30d97a1c2a57f710c8ad2d1998865def90c46"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:1161-1174 | src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:1207-1220 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb"},"region":{"startLine":1161}}}],"partialFingerprints":{"codehealthFindingId/v1":"7bd6cace2752a89218ddaa1077aa732540017be95744fbdc1b2beb23cacecd6f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13\u201314 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1200-1213 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1257-1269 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1257\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":1200}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b42b2290e7b555c2293e563c6fa146cb6ec751075a9b4ec37357d99bedeb89d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4664-4678 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4775-4788 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4664}}}],"partialFingerprints":{"codehealthFindingId/v1":"b64baa02ed87ea82af81ad02a0849ef9f01c9fb82f4eddd0e26235f35f68c9e0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13\u201314 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13798-13810 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13820-13833 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13798}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f80edb50425403ba66aae6cfbe8d170d7755501e70c4d3cb40d503e35de8d16"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/mzmath/MSEngine/SpectrumHandler.vb:356-362 | src/mzmath/MSEngine/SpectrumHandler.vb:375-381 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/mzmath/MSEngine/SpectrumHandler.vb:356\u0060 it begins part-way through the construct above it, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/mzmath/MSEngine/SpectrumHandler.vb:382\u0060 calls \u0060isotopeTemps\u0060 and \u0060src/mzmath/MSEngine/SpectrumHandler.vb:363\u0060 does not \u2014 after which the two agree again for 4 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/SpectrumHandler.vb"},"region":{"startLine":356}}}],"partialFingerprints":{"codehealthFindingId/v1":"791fdb0a2ec2232ba834f8b3967c7b30592dd64f8bcae300fb178488e21e6be6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201314 lines \u00D7 2): src/mzmath/mz_deco/Preprocessing/BatchCorrection.vb:268-281 | src/mzmath/mz_deco/Preprocessing/BatchCorrection.vb:324-334 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/BatchCorrection.vb"},"region":{"startLine":268}}}],"partialFingerprints":{"codehealthFindingId/v1":"5daeee6537056da4454cf7190f223b61622aec4f4c14d2ce7f24a5b4098c052d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 8): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12592-12601 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12630-12639 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12666-12675 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12702-12711 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12738-12747 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12774-12783 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12817-12826 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12853-12862 \u2014 all 8 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12592}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c5d21f11e3b33537f88cb921409472f72506f4e72db29ca250c02bd6667f015"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12\u201313 lines \u00D7 6): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1284-1295 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1505-1516 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1702-1713 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1877-1888 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2030-2041 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2160-2172 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1519\u0060 calls \u0060List\u0060 and \u0060src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1717\u0060 does not \u2014 after which the two agree again for 2 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1284}}}],"partialFingerprints":{"codehealthFindingId/v1":"36c8049cfe29355f930073caeb17e9db8c8fe4ad1f1705d9819db6aa2a1ebc02"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 5): src/metadb/Lipidomics/SpectrumGenerator/MGEidSpectrumGenerator.vb:184-196 | src/metadb/Lipidomics/SpectrumGenerator/PGEidSpectrumGenerator.vb:199-211 | src/metadb/Lipidomics/SpectrumGenerator/PIEidSpectrumGenerator.vb:207-219 | src/metadb/Lipidomics/SpectrumGenerator/PSEidSpectrumGenerator.vb:189-201 | src/metadb/Lipidomics/SpectrumGenerator/SMEidSpectrumGenerator.vb:189-201 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/MGEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/PIEidSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 41 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/MGEidSpectrumGenerator.vb"},"region":{"startLine":184}}}],"partialFingerprints":{"codehealthFindingId/v1":"406f589cf5167bc2ff1651a3f677052bc777b06277c8ebdbdde59f79065821f7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1773-1782 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12125-12134 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12179-12188 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12232-12241 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1773}}}],"partialFingerprints":{"codehealthFindingId/v1":"689a7a18132fb9e05d1641719ae7bc0b95d501bc8653d0cbdbf118e1bd74d4a1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5730-5740 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5815-5825 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15912-15922 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15997-16007 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5730}}}],"partialFingerprints":{"codehealthFindingId/v1":"de542b510917acc81d0e997bca3fb6fa92d1378637d0f52ee4beaf2feac1c1ab"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13705-13716 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13753-13764 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13776-13787 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13844-13855 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13705}}}],"partialFingerprints":{"codehealthFindingId/v1":"e4f108540d3d312b68de5b2956a5f5a68a8df8ae606582380192eef0799f46d2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 3): src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:980-991 | src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:1039-1050 | src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:1123-1134 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb"},"region":{"startLine":980}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb313c51181d9bfd16db3c341dec9bdaee5aedda16df791da3790c13204444de"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/EieioMsCharacterizationUtility.vb:142-154 | src/metadb/Lipidomics/MsCharacterization/EieioMsCharacterizationUtility.vb:170-182 | src/metadb/Lipidomics/MsCharacterization/EieioMsCharacterizationUtility.vb:186-198 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/EieioMsCharacterizationUtility.vb"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd40f4e4ce4732eb7dc395eb59408fa3d5c90814fce2e0a5ee6c4be2042eee1d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3543-3549 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2653-2659 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15680-15686 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3543}}}],"partialFingerprints":{"codehealthFindingId/v1":"81fa9d6e080325bef5c860dcb18bedade0d4d4c4f932dccc1f4dc353911c96ff"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201313 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6170-6182 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6260-6270 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6337-6347 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":6170}}}],"partialFingerprints":{"codehealthFindingId/v1":"402031203a4dbd5d79ac842266cbe892add9e99c02ff7dad31bc337145cbead1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12\u201313 lines \u00D7 3): src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb:103-115 | src/metadb/Lipidomics/SpectrumGenerator/LPCSpectrumGenerator.vb:103-114 | src/metadb/Lipidomics/SpectrumGenerator/LPCd5SpectrumGenerator.vb:103-114 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/LPCSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 37 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9dc2b02ef0107de27249738b9b9879e5644c50faf031d0abf3da8ab99d4da3c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): Rscript/Library/mzkit_app/src/mzkit/annotations/Massbank.vb:1118-1128 | Rscript/Library/mzkit_app/src/mzkit/annotations/Massbank.vb:1137-1147 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/Massbank.vb"},"region":{"startLine":1118}}}],"partialFingerprints":{"codehealthFindingId/v1":"2e9604fa3deaf92a1dd859491785b2548767424ea3b72bf86c78aee82ddb2180"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:321-329 | src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:904-912 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":321}}}],"partialFingerprints":{"codehealthFindingId/v1":"264e0412caa2ab3d72680a1864a4baa0e0563b9cac1cfb0d1ae6f85d12180b32"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12\u201313 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1173-1185 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1197-1208 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1173}}}],"partialFingerprints":{"codehealthFindingId/v1":"a475c5d041b2dd983d95b6e50b71162d81286b3bb827500a290193dd8aee9f38"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3997-4009 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4313-4325 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3997}}}],"partialFingerprints":{"codehealthFindingId/v1":"61fa6ffb647ec98639fc7110a37e8d9ea142ac34e5ba8df029686e69f2364f79"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12\u201313 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5590-5602 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14092-14103 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5590}}}],"partialFingerprints":{"codehealthFindingId/v1":"e80488a757bfb76aeea0a25e287fadd5fee33c8f092a94d0df8fe1eabe877431"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7685-7697 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7761-7773 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7685}}}],"partialFingerprints":{"codehealthFindingId/v1":"b7d7a1008008f4ffb1918ba72acbcf02a0d1f258d220bc43f88c39bc1d3367f0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/mzmath/MSEngine/Search/MsScanMatching.vb:417-424 | src/mzmath/MSEngine/Search/MsScanMatching.vb:433-440 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":417}}}],"partialFingerprints":{"codehealthFindingId/v1":"598e7b7b2ecc84548652d1d594cb5d2b1c04563e13cf237c31947c09f6aeaa0a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/mzmath/MSEngine/Search/MsScanMatching.vb:474-485 | src/mzmath/MSEngine/Search/MsScanMatching.vb:494-505 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":474}}}],"partialFingerprints":{"codehealthFindingId/v1":"80b133ef14d32ba6e4b77fc12503a44ded3165774930e7b2a16908a22a3e92ad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/mzmath/mz_deco/PeakAlignment.vb:237-242 | src/mzmath/mz_deco/XcmsTable.vb:99-104 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/PeakAlignment.vb"},"region":{"startLine":237}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4e15e648f9d00e5123814460a675b427b52773b953040b02ff2e252ce5188f3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/mzmath/mz_deco/Preprocessing/MathHelpers.vb:59-68 | src/mzmath/mz_deco/Preprocessing/MathHelpers.vb:76-85 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MathHelpers.vb"},"region":{"startLine":59}}}],"partialFingerprints":{"codehealthFindingId/v1":"78f0de2e5de582767dcda55e7053f63e1f4aa2cdc8bb6846b464dacb08554886"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7\u201312 lines \u00D7 39): src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb:97-104 | src/metadb/Lipidomics/SpectrumGenerator/BMPSpectrumGenerator.vb:97-103 | src/metadb/Lipidomics/SpectrumGenerator/DGEidSpectrumGenerator.vb:92-100 | src/metadb/Lipidomics/SpectrumGenerator/DGSpectrumGenerator.vb:92-99 | src/metadb/Lipidomics/SpectrumGenerator/DGTASpectrumGenerator.vb:99-105 | src/metadb/Lipidomics/SpectrumGenerator/DGTSSpectrumGenerator.vb:103-109 | src/metadb/Lipidomics/SpectrumGenerator/DGd5SpectrumGenerator.vb:93-100 | src/metadb/Lipidomics/SpectrumGenerator/DMEDFAHFASpectrumGenerator.vb:99-105 | src/metadb/Lipidomics/SpectrumGenerator/HBMPSpectrumGenerator.vb:101-111 | src/metadb/Lipidomics/SpectrumGenerator/LDGTASpectrumGenerator.vb:101-107 | src/metadb/Lipidomics/SpectrumGenerator/LDGTSSpectrumGenerator.vb:101-107 | src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb:104-115 | src/metadb/Lipidomics/SpectrumGenerator/LPCSpectrumGenerator.vb:104-114 | src/metadb/Lipidomics/SpectrumGenerator/LPCd5SpectrumGenerator.vb:104-114 | src/metadb/Lipidomics/SpectrumGenerator/LPEEidSpectrumGenerator.vb:102-109 | src/metadb/Lipidomics/SpectrumGenerator/LPESpectrumGenerator.vb:102-108 | src/metadb/Lipidomics/SpectrumGenerator/LPEd5SpectrumGenerator.vb:102-108 | src/metadb/Lipidomics/SpectrumGenerator/LPGSpectrumGenerator.vb:100-106 | src/metadb/Lipidomics/SpectrumGenerator/LPGd5SpectrumGenerator.vb:98-104 | src/metadb/Lipidomics/SpectrumGenerator/LPISpectrumGenerator.vb:102-108 | src/metadb/Lipidomics/SpectrumGenerator/LPId5SpectrumGenerator.vb:102-108 | src/metadb/Lipidomics/SpectrumGenerator/LPSEidSpectrumGenerator.vb:104-111 | src/metadb/Lipidomics/SpectrumGenerator/LPSSpectrumGenerator.vb:103-109 | src/metadb/Lipidomics/SpectrumGenerator/LPSd5SpectrumGenerator.vb:103-109 | src/metadb/Lipidomics/SpectrumGenerator/PCEidSpectrumGenerator.vb:99-106 | src/metadb/Lipidomics/SpectrumGenerator/PCSpectrumGenerator.vb:99-105 | src/metadb/Lipidomics/SpectrumGenerator/PCd5SpectrumGenerator.vb:99-105 | src/metadb/Lipidomics/SpectrumGenerator/PEEidSpectrumGenerator.vb:100-108 | src/metadb/Lipidomics/SpectrumGenerator/PESpectrumGenerator.vb:100-107 | src/metadb/Lipidomics/SpectrumGenerator/PEd5SpectrumGenerator.vb:102-109 | src/metadb/Lipidomics/SpectrumGenerator/PGEidSpectrumGenerator.vb:101-108 | src/metadb/Lipidomics/SpectrumGenerator/PGSpectrumGenerator.vb:102-108 | src/metadb/Lipidomics/SpectrumGenerator/PGd5SpectrumGenerator.vb:101-107 | src/metadb/Lipidomics/SpectrumGenerator/PIEidSpectrumGenerator.vb:101-109 | src/metadb/Lipidomics/SpectrumGenerator/PISpectrumGenerator.vb:101-107 | src/metadb/Lipidomics/SpectrumGenerator/PId5SpectrumGenerator.vb:101-107 | src/metadb/Lipidomics/SpectrumGenerator/PSEidSpectrumGenerator.vb:103-110 | src/metadb/Lipidomics/SpectrumGenerator/PSSpectrumGenerator.vb:103-109 | src/metadb/Lipidomics/SpectrumGenerator/PSd5SpectrumGenerator.vb:103-109 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/BMPSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 55 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just before the matched lines, \u0060src/metadb/Lipidomics/SpectrumGenerator/PSSpectrumGenerator.vb:102\u0060 calls \u0060If\u0060, \u0060Equals\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/PSEidSpectrumGenerator.vb:102\u0060 does not \u2014 after which the two agree again for 4 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"87789bd499c865c609ccfe248163b48eac55cc69a1eb6f1432ad2b8231d2f7b2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 6): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1231-1240 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1272-1281 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1310-1319 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5742-5751 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5787-5796 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5827-5836 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1231}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ba750f80f6df7d2592b5eab2f528d569350dbef0ba5f9e03fa79cd8cf91866c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 6): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2994-3003 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3037-3046 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3075-3084 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15924-15933 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15969-15978 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16009-16018 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2994}}}],"partialFingerprints":{"codehealthFindingId/v1":"93c7a1f7e9fcb3d107ec931455bd362d572eced938827be75fdfce99972b8e31"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2651-2664 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5590-5602 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14092-14103 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15678-15691 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2651\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14103\u0060 calls \u0060acylCainMass\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2664\u0060 does not \u2014 after which the two agree again for 4 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2651}}}],"partialFingerprints":{"codehealthFindingId/v1":"903475f8f51f012052f6050ceaeb3103926a5aeb68e043881e9cd8d9a28ba97e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 4): src/mzmath/ms2_math-core/Chromatogram/ChromXType.vb:130-141 | src/mzmath/ms2_math-core/Chromatogram/ChromXType.vb:192-203 | src/mzmath/ms2_math-core/Chromatogram/ChromXType.vb:254-265 | src/mzmath/ms2_math-core/Chromatogram/ChromXType.vb:317-328 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Chromatogram/ChromXType.vb"},"region":{"startLine":130}}}],"partialFingerprints":{"codehealthFindingId/v1":"7e93f59719432c15ff65efaa67caaf59a086a7af8e184cb76bd58700f9cb1bda"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5582-5593 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5648-5664 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7606-7618 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5648\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5582}}}],"partialFingerprints":{"codehealthFindingId/v1":"243a14d252c9096e2a8b50f9a17b6ff5e94b2c3768ae075d99572ebfe4a0df74"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 3): src/metadb/Lipidomics/SpectrumGenerator/LPGEidSpectrumGenerator.vb:99-110 | src/metadb/Lipidomics/SpectrumGenerator/LPIEidSpectrumGenerator.vb:103-114 | src/metadb/Lipidomics/SpectrumGenerator/MGSpectrumGenerator.vb:95-109 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from all 3 call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPGEidSpectrumGenerator.vb"},"region":{"startLine":99}}}],"partialFingerprints":{"codehealthFindingId/v1":"350401aaf31049985047b2ac49f3a999fdc19115de72f8db9cc409baf431b668"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201312 lines \u00D7 3): src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb:159-170 | src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb:195-205 | src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb:599-609 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":159}}}],"partialFingerprints":{"codehealthFindingId/v1":"214577b9e1955a31e899ff061bb01a04a76d94b293bd302473933af59b1cdf9e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 3): src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb:206-216 | src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb:256-266 | src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb:286-296 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":206}}}],"partialFingerprints":{"codehealthFindingId/v1":"cfd82d99ad211a76b193d72be953b152cb7d715aded5edc75d0ea4bbb3e3bbb0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): Rscript/Library/mzkit_app/src/mzquant/MRM/MRMkit.vb:836-847 | Rscript/Library/mzkit_app/src/mzquant/MRM/MRMkit.vb:946-957 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/MRM/MRMkit.vb"},"region":{"startLine":836}}}],"partialFingerprints":{"codehealthFindingId/v1":"36a475bf76799c276aed64a79c07ee909c174bcb9302908e26dd641277547617"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb:2507-2517 | src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb:2523-2533 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb"},"region":{"startLine":2507}}}],"partialFingerprints":{"codehealthFindingId/v1":"c2d9208d13a33628146b316052e9ca51baec1df8b663b082d8297dc9704cba3a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/EieioMsCharacterizationUtility.vb:307-317 | src/metadb/Lipidomics/MsCharacterization/EieioMsCharacterizationUtility.vb:383-393 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/EieioMsCharacterizationUtility.vb"},"region":{"startLine":307}}}],"partialFingerprints":{"codehealthFindingId/v1":"74ce8fed1a8b709c3f1d363fd9d3e7ce9695d97d9a5660249e7ae95e57d0986b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2583-2594 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15610-15621 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2583}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8661b4cfad0f424fbc1bec91150cef9c5088a22112375827e48cd9ef034ced9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5589-5601 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6225-6236 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6225\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5589}}}],"partialFingerprints":{"codehealthFindingId/v1":"6d74a3876d40ae7877101a6d13ea1a6315682b4bd2de9b035d23643f088620fa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/PEEadMsCharacterization.vb:68-79 | src/metadb/Lipidomics/MsCharacterization/PSEadMsCharacterization.vb:68-79 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/PEEadMsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/PSEadMsCharacterization.vb\u0060 as WHOLE FILES: 92% of the shorter file\u0027s lines also appear in the other, so this reads as one file having been copied from the other rather than as a helper waiting to be extracted. The 2 duplicated block(s) this scan matched between them are fragments of that copy, not the extent of it \u2014 treat the file pair as the unit. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/PEEadMsCharacterization.vb"},"region":{"startLine":68}}}],"partialFingerprints":{"codehealthFindingId/v1":"091ebadec2a6e76d8778d5f98255fdac6e5d3b960ed79c569738f774e349f4df"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/PGEadMsCharacterization.vb:68-79 | src/metadb/Lipidomics/MsCharacterization/PIEadMsCharacterization.vb:68-79 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/PGEadMsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/PIEadMsCharacterization.vb\u0060 as WHOLE FILES: 92% of the shorter file\u0027s lines also appear in the other, so this reads as one file having been copied from the other rather than as a helper waiting to be extracted. The 2 duplicated block(s) this scan matched between them are fragments of that copy, not the extent of it \u2014 treat the file pair as the unit. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/PGEadMsCharacterization.vb"},"region":{"startLine":68}}}],"partialFingerprints":{"codehealthFindingId/v1":"92dc4c77a23ddd5b4dd30c4de8365c1ffa1b342fdec59bd465c7d16c1072f786"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201312 lines \u00D7 2): src/mzmath/Mummichog/MummichogModule.vb:771-782 | src/mzmath/Mummichog/MummichogModule.vb:796-806 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Mummichog/MummichogModule.vb"},"region":{"startLine":771}}}],"partialFingerprints":{"codehealthFindingId/v1":"37747b1b20863ef38281f3c857080e58c702a1f63ae3f0d827e1e6f3c5a757e6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1181-1191 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2348-2358 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1181}}}],"partialFingerprints":{"codehealthFindingId/v1":"2dcea80c4df64ade24537810bb6cba0804e3f3f82531094665ab83f0e0525db6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/mzmath/mz_deco/Preprocessing/MathHelpers.vb:996-1003 | src/mzmath/mz_deco/Preprocessing/MathHelpers.vb:1020-1027 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MathHelpers.vb"},"region":{"startLine":996}}}],"partialFingerprints":{"codehealthFindingId/v1":"6dc58d0535e33d31a7131cc0b427429678f26fef6875f47d5a993272cf38b645"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 9): src/metadb/Chemoinformatics/Formula/Models/Element.vb:153-163 | src/metadb/Chemoinformatics/Formula/Models/Element.vb:164-174 | src/metadb/Chemoinformatics/Formula/Models/Element.vb:175-185 | src/metadb/Chemoinformatics/Formula/Models/Element.vb:190-225 | src/metadb/Chemoinformatics/Formula/Models/Element.vb:226-273 | src/metadb/Chemoinformatics/Formula/Models/Element.vb:282-321 | src/metadb/Chemoinformatics/Formula/Models/Element.vb:322-361 | src/metadb/Chemoinformatics/Formula/Models/Element.vb:362-372 | src/metadb/Chemoinformatics/Formula/Models/Element.vb:373-383 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/metadb/Chemoinformatics/Formula/Models/Element.vb:175\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/metadb/Chemoinformatics/Formula/Models/Element.vb:225\u0060 calls \u0060Element\u0060, \u0060Isotope\u0060 and \u0060src/metadb/Chemoinformatics/Formula/Models/Element.vb:185\u0060 does not \u2014 after which the two agree again for 4 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Models/Element.vb"},"region":{"startLine":153}}}],"partialFingerprints":{"codehealthFindingId/v1":"e48366a0a85dfff692f1e413a290dd6b2e44833132c55f66ad5b169110fc4e72"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 7): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1284-1294 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1505-1515 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1702-1712 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1877-1887 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2030-2040 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2160-2170 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2263-2274 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1715\u0060 calls \u0060List\u0060 and \u0060src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1891\u0060 does not \u2014 after which the two agree again for 2 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1284}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e8d6161590e4e68dff4f6da7fe3adab2452a73c507f1dd2dd4e49a1e5776512"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 6): src/metadb/Lipidomics/MsCharacterization/BMPEadMsCharacterization.vb:63-72 | src/metadb/Lipidomics/MsCharacterization/PCEadMsCharacterization.vb:65-74 | src/metadb/Lipidomics/MsCharacterization/PEEadMsCharacterization.vb:64-73 | src/metadb/Lipidomics/MsCharacterization/PGEadMsCharacterization.vb:64-73 | src/metadb/Lipidomics/MsCharacterization/PIEadMsCharacterization.vb:64-73 | src/metadb/Lipidomics/MsCharacterization/PSEadMsCharacterization.vb:64-73 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/BMPEadMsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/PCEadMsCharacterization.vb\u0060 as WHOLE FILES: 88% of the shorter file\u0027s lines also appear in the other, so this reads as one file having been copied from the other rather than as a helper waiting to be extracted. The 1 duplicated block(s) this scan matched between them are fragments of that copy, not the extent of it \u2014 treat the file pair as the unit. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/metadb/Lipidomics/MsCharacterization/PEEadMsCharacterization.vb:74\u0060 calls \u0060Equals\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/PCEadMsCharacterization.vb:76\u0060 does not \u2014 after which the two agree again for 2 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/BMPEadMsCharacterization.vb"},"region":{"startLine":63}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f30aa6870f69ed948f6f8427db7c4aa8ceb9c33c2704742b8eb713548472baf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 5): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4096-4103 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4412-4419 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4529-4536 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4650-4657 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4763-4770 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4096}}}],"partialFingerprints":{"codehealthFindingId/v1":"546c2f3725c6ad01f1fc671580d6e68bd5eda35fb8d8169b0773bd671af5aa7a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4099-4111 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4415-4427 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4532-4545 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13375-13385 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4099}}}],"partialFingerprints":{"codehealthFindingId/v1":"69672fa7eb333bbd56bdbd827cc10bfab46aabc4cad8126ec315298ea298d348"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10\u201311 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11667-11676 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11733-11742 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11917-11927 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11987-11997 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11667}}}],"partialFingerprints":{"codehealthFindingId/v1":"322b0dba58eb51c75c717e4f7839c3991e325e3fb2ff423857f313e78e007029"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 4): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:422-429 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:586-593 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1328-1335 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1545-1552 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":422}}}],"partialFingerprints":{"codehealthFindingId/v1":"1de8f88cdc655aadb979c9b2916d6e46c8b7ff03842396d42500c9c76586ebb6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3094-3104 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14748-14761 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14817-14828 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3094}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8f980b2c0f4b4e0d4d00fea303aec4b259e3bb95b50f3e8c543bb5021cc6b2d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5588-5600 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6224-6234 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7613-7628 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5588}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd83906d24c586a87ed7c1f947e972774676855ff584944273aed0584756f75b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/assembly/LoadR.NET5/Ms1Search/SearchList.vb:127-137 | src/assembly/LoadR.NET5/Ms1Search/SearchTable.vb:103-113 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/LoadR.NET5/Ms1Search/SearchList.vb"},"region":{"startLine":127}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa9faf2d2258637c92250e34cb7b4c65b35c442ba9313754d8ca1d481fbf4382"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7\u201311 lines \u00D7 2): src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:77-83 | src/mzmath/MSEngine/Search/MsScanMatching.vb:264-274 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ac07f3aab4485d97de671780786287fb591c8143319e05f944689b2bd3a7ba4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/metadb/Lipidomics/ChainGenerator.vb:142-151 | src/metadb/Lipidomics/Omega3nChainGenerator.vb:268-277 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ChainGenerator.vb"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"f44f4f784ba1cca4562c4bcab570f3468d8f429e21dc14a0ae144d19863d88fe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/metadb/Lipidomics/ChainParser/AcylChainParser.vb:100-110 | src/metadb/Lipidomics/ChainParser/AlkylChainParser.vb:115-125 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ChainParser/AcylChainParser.vb"},"region":{"startLine":100}}}],"partialFingerprints":{"codehealthFindingId/v1":"efa240e0a01caa2282aae5b48b4c2d1bdb8c7a981f7f2be7dc0683395dbc1420"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1172-1180 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2937-2945 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1172}}}],"partialFingerprints":{"codehealthFindingId/v1":"18526ab3a0a6622a433baae0bf99d537f9623f6f698cc752322ace003b216dad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1463-1470 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3288-3295 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1463}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b9ffe8a50110a193435ff1adc071b9b26a7c9009aa3fa90ec00ecae9930c38c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3505-3514 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16518-16527 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3505}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac57b7b8a42567e89e15f491ac0ed4706cab861a2f90088c0fbeb0aececc0d33"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7664-7673 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7707-7716 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7664}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d507ddeac0585c1e65190d1575f5fdd12c9f1a2f5f7c978e0d09d1b99057c51"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13458-13467 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13469-13478 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13458}}}],"partialFingerprints":{"codehealthFindingId/v1":"7950f63d5d3392f85030cafe5ef3ad1b5ad6f4e8c192be49d17c9ca86d37272e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10\u201311 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13514-13524 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13613-13622 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13514}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ea28b3d926151658bf946d8ae6c3aea3d6b4627ea3db982a29bbb6ac53d954c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/mzmath/MoleculeNetworking/SpectrumGrid/SpectrumGrid.vb:195-204 | src/mzmath/MoleculeNetworking/SpectrumGrid/SpectrumGrid.vb:224-233 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/mzmath/MoleculeNetworking/SpectrumGrid/SpectrumGrid.vb:195\u0060 it begins part-way through the construct above it, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumGrid/SpectrumGrid.vb"},"region":{"startLine":195}}}],"partialFingerprints":{"codehealthFindingId/v1":"edcc4dc2c441473f8ed731987942e7b617529ad7489d62ef23863d1d6699cd2a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/mzmath/MSEngine/Proteomics/PeptideCalc.vb:188-196 | src/mzmath/MSEngine/Proteomics/PeptideCalc.vb:409-417 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/PeptideCalc.vb"},"region":{"startLine":188}}}],"partialFingerprints":{"codehealthFindingId/v1":"91345bda0951c613773f44368ad50f06c947d4ce0839f1e7741d6f8837455ce9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/mzmath/MSEngine/Search/MsScanMatching.vb:139-149 | src/mzmath/MSEngine/Search/MsScanMatching.vb:162-172 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":139}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f08b27c7e82ad1bddf468bd360c00e4f70dc53b3bb31393a4f72116ec7d7d72"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/mzmath/MSFinder/FormulaStringParcer.vb:458-468 | src/mzmath/MSFinder/FormulaStringParcer.vb:603-614 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":458}}}],"partialFingerprints":{"codehealthFindingId/v1":"5d7508747402fb80b4eafbed75a4fa1f626a940b59fbda8b2977be74786664ac"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/mzmath/mz_deco/Preprocessing/Normalization.vb:406-416 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:486-496 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/Normalization.vb"},"region":{"startLine":406}}}],"partialFingerprints":{"codehealthFindingId/v1":"08ca9f48e2103708826f9d3fadaed3f4bb8e4f985a360a00bfd1891cbfedac55"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/mzmath/mz_deco/Signals/PeakFinding/PeakDetector.vb:598-608 | src/mzmath/mz_deco/Signals/PeakFinding/PeakProcessor.vb:201-211 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/PeakFinding/PeakDetector.vb"},"region":{"startLine":598}}}],"partialFingerprints":{"codehealthFindingId/v1":"21eae6e44cae109f87e6895ca1c4fadade27484ca9b5e027286462294f9c7803"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 15): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:395-399 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:562-566 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:711-715 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:841-845 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:953-957 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1047-1051 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1124-1128 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1181-1185 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1301-1305 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1521-1525 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1717-1721 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1891-1895 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2043-2047 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2172-2176 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2274-2278 \u2014 all 15 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1130\u0060 calls \u0060isotopeElementPropertyBeanList\u0060 and \u0060src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1187\u0060 does not \u2014 after which the two agree again for 2 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":395}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7b12f24a2f3ae50e220a070cb1c968fe4558719d159c74344e72032de0c850c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 10): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:422-426 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:586-590 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:732-736 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:859-863 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:968-972 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1328-1332 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1545-1549 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1738-1742 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1909-1913 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2058-2062 \u2014 all 10 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":422}}}],"partialFingerprints":{"codehealthFindingId/v1":"5fbae2d6c4c5180a013bff5d26767403094312ff6d3c7fb32ee495b4beb2c912"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 7): src/metadb/Lipidomics/SpectrumGenerator/LPCOadSpectrumGenerator.vb:107-113 | src/metadb/Lipidomics/SpectrumGenerator/LPEOadSpectrumGenerator.vb:108-114 | src/metadb/Lipidomics/SpectrumGenerator/PCOadSpectrumGenerator.vb:114-120 | src/metadb/Lipidomics/SpectrumGenerator/PEOadSpectrumGenerator.vb:122-128 | src/metadb/Lipidomics/SpectrumGenerator/PGOadSpectrumGenerator.vb:121-127 | src/metadb/Lipidomics/SpectrumGenerator/PIOadSpectrumGenerator.vb:118-124 | src/metadb/Lipidomics/SpectrumGenerator/TGOadSpectrumGenerator.vb:99-105 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/PGOadSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/PIOadSpectrumGenerator.vb\u0060 as WHOLE FILES: 84% of the shorter file\u0027s lines also appear in the other, so this reads as one file having been copied from the other rather than as a helper waiting to be extracted. The 2 duplicated block(s) this scan matched between them are fragments of that copy, not the extent of it \u2014 treat the file pair as the unit. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPCOadSpectrumGenerator.vb"},"region":{"startLine":107}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4a5cf6376df24daab1f6c9684abf870a89dd6b6dc5e99e05acc3a96d1fd44fc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 6): src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb:182-191 | src/metadb/Lipidomics/SpectrumGenerator/LPEEidSpectrumGenerator.vb:193-202 | src/metadb/Lipidomics/SpectrumGenerator/LPGEidSpectrumGenerator.vb:205-214 | src/metadb/Lipidomics/SpectrumGenerator/LPIEidSpectrumGenerator.vb:215-224 | src/metadb/Lipidomics/SpectrumGenerator/LPSEidSpectrumGenerator.vb:194-203 | src/metadb/Lipidomics/SpectrumGenerator/PAEidSpectrumGenerator.vb:194-203 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/LPEEidSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 66 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb"},"region":{"startLine":182}}}],"partialFingerprints":{"codehealthFindingId/v1":"c2802a93d348ea3fd2db68feafbf3b077282abaadcfe69f410a53bb8bdd1532a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 5): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2521-2530 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2581-2590 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3507-3517 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7429-7446 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15608-15617 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2521}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6ac05ce3d0a06ce3365decb7803abb7be1f7e4582f83def1f34cedaeb01fef8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3090-3095 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4195-4200 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6169-6174 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6259-6264 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6336-6341 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3090}}}],"partialFingerprints":{"codehealthFindingId/v1":"3cdb6a911b635fc3766adee6f85017f243ca38774d3a01d1f2dda9c68a25c8ab"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1250-1259 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3014-3024 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5764-5774 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15946-15956 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1250}}}],"partialFingerprints":{"codehealthFindingId/v1":"76c49aa77788aa6bb35e390e61be46b951ea89e07133d38cf381e5965b1301e7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1290-1299 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3055-3064 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5807-5816 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15989-15998 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1290}}}],"partialFingerprints":{"codehealthFindingId/v1":"742b194a8c135950483a1eb140fdc051e4a1d0d978e8f9618d083f2803bee02a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5581-5590 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5647-5656 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7605-7615 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12290-12300 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5581}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc1d55f423cc8fd8d018a8d59a039be6d155b9300baeee8a9ebde94555d7e131"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): src/mzmath/mz_deco/Preprocessing/Normalization.vb:395-403 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:434-442 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:473-481 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:514-522 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/mzmath/mz_deco/Preprocessing/Normalization.vb:524\u0060 calls \u0060CV\u0060 and \u0060src/mzmath/mz_deco/Preprocessing/Normalization.vb:406\u0060 does not \u2014 after which the two agree again for 3 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/Normalization.vb"},"region":{"startLine":395}}}],"partialFingerprints":{"codehealthFindingId/v1":"51cbdacf0ecd1a1c2f00a65f46708adc1401f6c4dcf3c7b9a663e306d838780a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): src/visualize/MsImaging/Plot/DualRegionUnionPlot.vb:149-157 | src/visualize/MsImaging/Plot/MSIPlot.vb:120-128 | src/visualize/MsImaging/Plot/RGBMSIPlot.vb:101-109 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from all 3 call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Plot/DualRegionUnionPlot.vb"},"region":{"startLine":149}}}],"partialFingerprints":{"codehealthFindingId/v1":"950167e21b8867b73d6aeb5932373a995d218dc4f9d6269537bba788ece24f66"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/visualize/plot/ChromatogramPlot/TICplot.vb:261-269 | src/visualize/plot/PlotMassWindowXIC.vb:251-259 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/ChromatogramPlot/TICplot.vb"},"region":{"startLine":261}}}],"partialFingerprints":{"codehealthFindingId/v1":"85ed44efb7fdddb21841a33c7baab1648f8e252143bccbd4f22d34f6c1deb2fe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/visualize/MsImaging/Analysis/GridScanner.vb:112-121 | src/visualize/MsImaging/Analysis/GridScanner.vb:168-177 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Analysis/GridScanner.vb"},"region":{"startLine":112}}}],"partialFingerprints":{"codehealthFindingId/v1":"890c3d4682175fbc848722555656a08188707c074217ccc4ee127bc8eb4d8c3b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:360-369 | src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:943-952 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":360}}}],"partialFingerprints":{"codehealthFindingId/v1":"9432a40ed53674af3e684b5b003a637e6a7d8733d57505082e12aab5496a5704"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2530-2540 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9070-9079 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":2530}}}],"partialFingerprints":{"codehealthFindingId/v1":"eac32c1f99e6c98c533c6ca9842e2b7efae106af0d76fa01a4dbc477d9247b47"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15038-15045 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15055-15062 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":15038}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b95cbe0d8a905ac9c4c730a0af1217bf5cf988259e094f6c4a0e5d7e892bc56"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/EtherPCEidSpectrumGenerator.vb:189-198 | src/metadb/Lipidomics/SpectrumGenerator/EtherPEEidSpectrumGenerator.vb:230-239 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/EtherPCEidSpectrumGenerator.vb"},"region":{"startLine":189}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c3c67150a39e0a54086c9c170d854112764e27378a1da0bf39b4c414247175f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/mzmath/ms2_simulator/MSGNN/Exporters.vb:59-66 | src/mzmath/ms2_simulator/MSGNN/Exporters.vb:87-94 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_simulator/MSGNN/Exporters.vb"},"region":{"startLine":59}}}],"partialFingerprints":{"codehealthFindingId/v1":"7916796e106c2b3cf04dff207538cfc935bb424eac4d260a33692f254dc02887"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/mzmath/MSEngine/Search/MsScanMatching.vb:903-912 | src/mzmath/MSEngine/Search/MsScanMatching.vb:1035-1044 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":903}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1079e7183aa7891ae7f013846fc79eaa84fe3d6729deec1df512ba6607a966f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/mzmath/mz_deco/Preprocessing/MathHelpers.vb:867-873 | src/mzmath/mz_deco/Preprocessing/MathHelpers.vb:884-890 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/mzmath/mz_deco/Preprocessing/MathHelpers.vb:891\u0060 calls \u0060loadings\u0060 and \u0060src/mzmath/mz_deco/Preprocessing/MathHelpers.vb:874\u0060 does not \u2014 after which the two agree again for 2 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MathHelpers.vb"},"region":{"startLine":867}}}],"partialFingerprints":{"codehealthFindingId/v1":"be5d95186367a45475715a6f5e98bd786a55844f0d58337992a0c1f7eacfb811"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb:246-255 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:554-564 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":246}}}],"partialFingerprints":{"codehealthFindingId/v1":"42d85639f5f4d08094671fcf6580d2a12ec366c83198475d5e83d3ddf907128c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/mzmath/TargetedMetabolomics/GCMS/QuantifyAnalysis/SIMMode.vb:111-119 | src/mzmath/TargetedMetabolomics/GCMS/QuantifyAnalysis/ScanMode.vb:114-122 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/mzmath/TargetedMetabolomics/GCMS/QuantifyAnalysis/SIMMode.vb:111\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/QuantifyAnalysis/SIMMode.vb"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"a2ede034b8a3902aa070dd49a5baa3df54bd4db4cbc0a8c1e878e54ab32823d4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 24): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:396-404 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:405-413 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:414-422 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:563-571 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:572-580 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:712-720 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:721-729 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:842-850 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:851-859 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:954-962 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1048-1056 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1125-1133 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1302-1310 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1311-1319 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1320-1328 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1522-1530 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1531-1539 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1718-1726 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1727-1735 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1892-1900 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1901-1909 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2044-2052 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2173-2181 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2275-2283 \u2014 all 24 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:729\u0060 calls \u0060isotopeElementPropertyBeanList\u0060 and \u0060src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:422\u0060 does not \u2014 after which the two agree again for 4 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":396}}}],"partialFingerprints":{"codehealthFindingId/v1":"f554288daa8cb2840ea674a6cdb22a7cf1e49f71d30b0ac1bf168d021e60dfe1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 12): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:417-425 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:581-589 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:727-735 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:854-862 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:963-971 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1054-1062 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1323-1331 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1540-1548 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1733-1741 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1904-1912 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2053-2061 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2179-2187 \u2014 all 12 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":417}}}],"partialFingerprints":{"codehealthFindingId/v1":"0eae9e078931beedaf37a7cba1bb55180121b6e9b172f2d13b94da3d5827d286"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 11): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5580-5589 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5646-5655 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5718-5728 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5803-5813 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7604-7614 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12289-12299 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13373-13382 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13431-13439 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14077-14087 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15900-15910 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15985-15995 \u2014 all 11 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5580}}}],"partialFingerprints":{"codehealthFindingId/v1":"562a1ba79e1c7c67caa106def85ecd1299b1f933eaeefb68afa58cc9419a3aa9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 8): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3090-3098 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4195-4203 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6169-6177 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6259-6267 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6336-6344 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7685-7693 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7761-7769 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9061-9069 \u2014 all 8 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6178\u0060 calls \u0060isDiagnosticFragmentExist\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4204\u0060 does not \u2014 after which the two agree again for 2 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3090}}}],"partialFingerprints":{"codehealthFindingId/v1":"1907aa6ddfb17bbf518ba05547e1e45d6f0cad63035a772ba4e92b508e2d2e58"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7\u20139 lines \u00D7 9): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:136-144 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:148-156 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:160-168 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:172-180 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:184-192 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:196-204 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:208-216 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:220-228 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:232-238 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":136}}}],"partialFingerprints":{"codehealthFindingId/v1":"c1a127198b2e89d06ed4b0bdd44c9bd230fdd7339f12194ef34c82ccbed45bc4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 7): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3996-4003 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4095-4102 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4312-4319 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4411-4418 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4528-4535 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4649-4656 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4762-4769 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3996}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b3486d6b3ad0de7ab94e4bcebd85177d523402fa111b2fc9dd7f207d97b5374"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 7): src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb:245-253 | src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb:275-283 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:394-403 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:433-442 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:472-481 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:513-522 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:553-562 \u2014 there are 7 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 7 sites; resolving a subset leaves the remainder to drift apart. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/mzmath/mz_deco/Preprocessing/Normalization.vb:524\u0060 calls \u0060CV\u0060 and \u0060src/mzmath/mz_deco/Preprocessing/Normalization.vb:406\u0060 does not \u2014 after which the two agree again for 3 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MissingValueImputation.vb"},"region":{"startLine":245}}}],"partialFingerprints":{"codehealthFindingId/v1":"0268ac07e91ec4f5c118a14fe6a6521e6834c371e379765ededa6c4f3bf6bd35"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 5): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3341-3349 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13704-13713 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13752-13761 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13775-13784 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13843-13852 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3341}}}],"partialFingerprints":{"codehealthFindingId/v1":"271ca1c820afb29e6f10de08f4346606b75c207d2b4f1ce8dad25d19f8ccb624"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1217-1225 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2979-2988 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5722-5731 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15904-15913 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1217}}}],"partialFingerprints":{"codehealthFindingId/v1":"af1deeb0c3b60afe5e1f16b55da58ef65ac5e33a56f4ea4ac7934efb0228531d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1425-1433 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14746-14757 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14815-14824 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14956-14970 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1425}}}],"partialFingerprints":{"codehealthFindingId/v1":"1fc2402ceac6c27dd7501ce7952b349b3a6d41826ae7c83693a998b719793438"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3544-3554 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6287-6297 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:8139-8147 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":3544}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb044cb1018f23d78f70ca725a0e4fa85eee9ab6065da1ca745fb46b317183d7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9904-9913 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9987-9996 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:10794-10802 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":9904}}}],"partialFingerprints":{"codehealthFindingId/v1":"e65a9320e3ec96c17ea165ec99e2581192d15130872e43f187bdba444f9ebbda"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): src/metadb/Lipidomics/SpectrumGenerator/CeramideNsD7SpectrumGenerator.vb:196-203 | src/metadb/Lipidomics/SpectrumGeneratorUtility.vb:79-86 | src/metadb/Lipidomics/SpectrumGeneratorUtility.vb:105-112 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just before the matched lines, \u0060src/metadb/Lipidomics/SpectrumGeneratorUtility.vb:76\u0060 calls \u0060diffs\u0060 and \u0060src/metadb/Lipidomics/SpectrumGeneratorUtility.vb:102\u0060 does not \u2014 after which the two agree again for 3 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CeramideNsD7SpectrumGenerator.vb"},"region":{"startLine":196}}}],"partialFingerprints":{"codehealthFindingId/v1":"b4d8b74423d87fa84dd19c129f3ee28398bb70f1bd48416bdf475b6195835d50"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): Rscript/Library/mzkit_app/src/mzkit/annotations/Massbank.vb:295-299 | Rscript/Library/mzkit_app/src/mzquant/mzDeco.vb:180-184 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/Massbank.vb"},"region":{"startLine":295}}}],"partialFingerprints":{"codehealthFindingId/v1":"e66ea87b420e42789bca3b42e8b828c9df800251a02d4680de0cd04369a426a3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): Rscript/Library/mzkit_app/src/mzkit/annotations/MetaDbXref.vb:603-611 | Rscript/Library/mzkit_app/src/mzkit/annotations/MetaDbXref.vb:619-627 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060Rscript/Library/mzkit_app/src/mzkit/annotations/MetaDbXref.vb:612\u0060 calls \u0060uniqueKeys\u0060 and \u0060Rscript/Library/mzkit_app/src/mzkit/annotations/MetaDbXref.vb:628\u0060 does not \u2014 after which the two agree again for 3 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/MetaDbXref.vb"},"region":{"startLine":603}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c07cb927259569609db7f9f484e5bf7ec203c36313c11d923c7ce4a106303c3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/visualize/MsImaging/Blender/Renderer/RenderCMYK.vb:97-104 | src/visualize/MsImaging/Blender/Renderer/RenderRGB.vb:80-87 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Renderer/RenderCMYK.vb"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7a12ae5a677c2b80cb33c6c0946b073c0a9dd93270eccc9be81ce898ace9e49"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:415-423 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2053-2061 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":415}}}],"partialFingerprints":{"codehealthFindingId/v1":"7092e564b0e21e860ea38363d94895f1407b520609209f751dbcb4efd25e829c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1182-1190 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3674-3682 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1182}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba257ba713744e5615364f1625b4dac34c03ea039836199a45e60d279fbe019d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2938-2946 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2958-2971 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2938}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb6e4d4fd0ec8a58f79935d8f31e837c20a1030354f47d682903aa78803791c9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4766-4775 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12344-12352 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":4766}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed0be56d50dd894a74537acb921dee54380f2f45b568b28f89d125c173795387"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14241-14248 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14252-14259 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14241}}}],"partialFingerprints":{"codehealthFindingId/v1":"088155f7844d8d5667b639997c5c433e3a62dad4db0328855a0ddd233a31cb31"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/PAEidSpectrumGenerator.vb:98-107 | src/metadb/Lipidomics/SpectrumGenerator/PASpectrumGenerator.vb:99-107 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/PAEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/PASpectrumGenerator.vb\u0060 as WHOLE FILES: 90% of the shorter file\u0027s lines also appear in the other, so this reads as one file having been copied from the other rather than as a helper waiting to be extracted. The 2 duplicated block(s) this scan matched between them are fragments of that copy, not the extent of it \u2014 treat the file pair as the unit. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PAEidSpectrumGenerator.vb"},"region":{"startLine":98}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6ae5cd415f250593b5065477667676718b60a0352d6957aa4ebcd2930f2ad09"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:275-282 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:299-306 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":275}}}],"partialFingerprints":{"codehealthFindingId/v1":"2412ca62b37b3fbbf22944e48743b9638da9072a7d80f3c04b5699c488cbaeb3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2371-2379 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2402-2410 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":2371}}}],"partialFingerprints":{"codehealthFindingId/v1":"b6d1eb879aa021c7cc318322a687af588462fac27f4fa3eca98d2786684b2b66"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/mzmath/mz_deco/Preprocessing/MathHelpers.vb:39-47 | src/mzmath/mz_deco/Preprocessing/MathHelpers.vb:131-139 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/MathHelpers.vb"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"c26f4fd79cf63d395b2b43dcb3ebefe1a5f43515456f4603cbea2660fa5d049c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 32): src/mzmath/MSFinder/FormulaStringParcer.vb:134-142 | src/mzmath/MSFinder/FormulaStringParcer.vb:143-151 | src/mzmath/MSFinder/FormulaStringParcer.vb:152-160 | src/mzmath/MSFinder/FormulaStringParcer.vb:161-169 | src/mzmath/MSFinder/FormulaStringParcer.vb:170-178 | src/mzmath/MSFinder/FormulaStringParcer.vb:179-187 | src/mzmath/MSFinder/FormulaStringParcer.vb:188-196 | src/mzmath/MSFinder/FormulaStringParcer.vb:197-205 | src/mzmath/MSFinder/FormulaStringParcer.vb:206-214 | src/mzmath/MSFinder/FormulaStringParcer.vb:215-223 | src/mzmath/MSFinder/FormulaStringParcer.vb:369-377 | src/mzmath/MSFinder/FormulaStringParcer.vb:378-386 | src/mzmath/MSFinder/FormulaStringParcer.vb:387-395 | src/mzmath/MSFinder/FormulaStringParcer.vb:396-404 | src/mzmath/MSFinder/FormulaStringParcer.vb:405-413 | src/mzmath/MSFinder/FormulaStringParcer.vb:414-422 | src/mzmath/MSFinder/FormulaStringParcer.vb:423-431 | src/mzmath/MSFinder/FormulaStringParcer.vb:432-440 | src/mzmath/MSFinder/FormulaStringParcer.vb:441-449 | src/mzmath/MSFinder/FormulaStringParcer.vb:450-458 | src/mzmath/MSFinder/FormulaStringParcer.vb:498-506 | src/mzmath/MSFinder/FormulaStringParcer.vb:507-515 | src/mzmath/MSFinder/FormulaStringParcer.vb:516-524 | src/mzmath/MSFinder/FormulaStringParcer.vb:525-533 | src/mzmath/MSFinder/FormulaStringParcer.vb:534-542 | src/mzmath/MSFinder/FormulaStringParcer.vb:543-551 | src/mzmath/MSFinder/FormulaStringParcer.vb:552-560 | src/mzmath/MSFinder/FormulaStringParcer.vb:561-569 | src/mzmath/MSFinder/FormulaStringParcer.vb:570-578 | src/mzmath/MSFinder/FormulaStringParcer.vb:579-587 | src/mzmath/MSFinder/FormulaStringParcer.vb:588-595 | src/mzmath/MSFinder/FormulaStringParcer.vb:596-603 \u2014 all 32 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":134}}}],"partialFingerprints":{"codehealthFindingId/v1":"743fd8ad3653704877445763b45513de10cbb7dfeaac9832deb5a4cca606d044"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 14): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5580-5588 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5646-5654 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5718-5727 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5803-5812 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7604-7613 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7664-7672 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7707-7715 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12289-12297 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12342-12350 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13373-13381 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13431-13438 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14077-14085 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15900-15909 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15985-15994 \u2014 all 14 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5580}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c8d574ac9ccb937533a25b88002a438f32598808d5db47eda33d8a3c265e8b3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 7): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11640-11653 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11780-11793 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11804-11817 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11828-11841 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11895-11902 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11966-11973 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12035-12042 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11640}}}],"partialFingerprints":{"codehealthFindingId/v1":"73baccd6cd45bf2da6389262dff96b6dffc48819bca87e4868cecd509b2a8837"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 5): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:119-126 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:271-278 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1127-1134 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1168-1176 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1382-1394 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":119}}}],"partialFingerprints":{"codehealthFindingId/v1":"7af478a934dccf46ae1de30a842901059a5df5f5431cd4386eeb1b3a44e5e112"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 5): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1425-1432 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14746-14755 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14781-14788 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14815-14823 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14956-14968 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14756\u0060 calls \u0060isDiagnosticFragmentExist\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14824\u0060 does not \u2014 after which the two agree again for 4 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1425}}}],"partialFingerprints":{"codehealthFindingId/v1":"f95637561ea557c86d95e2f02a2c5e3be923f7bbf7ec0b62350085fa2ddd8318"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1223-1230 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1297-1309 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2986-2993 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:3062-3074 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1223}}}],"partialFingerprints":{"codehealthFindingId/v1":"93b803fe275d2745b2f91a6893ba6dfb12a8b3ca36b1f710e445ac166c5a108c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): src/metadb/Lipidomics/ChainParser/AcylChainParser.vb:89-96 | src/metadb/Lipidomics/ChainParser/AlkylChainParser.vb:104-111 | src/metadb/Lipidomics/ChainParser/SphingoChainParser.vb:92-99 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from all 3 call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ChainParser/AcylChainParser.vb"},"region":{"startLine":89}}}],"partialFingerprints":{"codehealthFindingId/v1":"773f22597b13be95972899470b4b7f83fcaec3cf16680f8db4ef4b1f43bdb19d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1787-1794 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12197-12206 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12250-12259 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1787}}}],"partialFingerprints":{"codehealthFindingId/v1":"749df1c7438f3e0bd959772410bd3bb3daa024c3fcf6e7bf1b3b6c306080d073"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:425-433 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:577-584 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:635-642 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":425}}}],"partialFingerprints":{"codehealthFindingId/v1":"e2f606ef3253e36fea0cecaa90b1c9502e29cb0ee7a0eb4ca8a34ccb1968a305"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12142-12150 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12196-12203 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12249-12257 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":12142}}}],"partialFingerprints":{"codehealthFindingId/v1":"0034ce9ff7bb01bd5ff7fd2f63ede087613374d660bd9bb55880cfe015184a98"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7\u20138 lines \u00D7 2): Rscript/Library/mzkit_app/src/mzDIA/DIA.vb:176-183 | Rscript/Library/mzkit_app/src/mzDIA/DIA.vb:185-191 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzDIA/DIA.vb"},"region":{"startLine":176}}}],"partialFingerprints":{"codehealthFindingId/v1":"1b5cb022a75e975b6fbbf0558f7f786433251b971e8796eb5b3d848dd5d2715a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/metadb/Lipidomics/MolecularSpeciesLevelChains.vb:111-119 | src/metadb/Lipidomics/PositionLevelChains.vb:92-99 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MolecularSpeciesLevelChains.vb"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4d5d8968c5444f656042b919fe11962816617058fd43ac157ef3c2e11455667"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/EieioMsCharacterizationUtility.vb:392-399 | src/metadb/Lipidomics/MsCharacterization/EieioMsCharacterizationUtility.vb:406-413 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/EieioMsCharacterizationUtility.vb"},"region":{"startLine":392}}}],"partialFingerprints":{"codehealthFindingId/v1":"626e1c9b925226e64113776ff9a76ca70ddad57a64eb94a643cbb0d84d8cb6e1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:2945-2952 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15843-15850 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":2945}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b6c092ac4a27b1f0c38545e9c2ed2486b4da2c68ec9958e39ac3b856a116285"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5324-5329 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5364-5369 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5324}}}],"partialFingerprints":{"codehealthFindingId/v1":"1fc611b1bc8a07a393952c03f9bea97bc4dab5868741d16c893fbd34ce65bd0c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/mzmath/Oligonucleotide_MS/VBA/MassDefault.vb:111-118 | src/mzmath/Oligonucleotide_MS/VBA/MassDefault.vb:122-129 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/VBA/MassDefault.vb"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b39e613fa6bf9d755b5074a4626b00a27e20e671b301c7a4b95d5ff78211b81"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/mzmath/mz_deco/PeakAlignment/Algorithm/DensityGroup.vb:26-33 | src/mzmath/mz_deco/PeakAlignment/Algorithm/DirectMatch.vb:24-32 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/mzmath/mz_deco/PeakAlignment/Algorithm/DirectMatch.vb:35\u0060 calls \u0060List\u0060, \u0060Tuple\u0060 and \u0060src/mzmath/mz_deco/PeakAlignment/Algorithm/DensityGroup.vb:35\u0060 does not \u2014 after which the two agree again for 3 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/PeakAlignment/Algorithm/DensityGroup.vb"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"2cf0d708a76627d8086efa3df1150cda8bb7e839ee55eb55c270600acdeada71"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/assembly/mz/TIC.vb:80-87 | src/assembly/mz/TIC.vb:133-140 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/assembly/mz/TIC.vb:80\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just before the matched lines, \u0060src/assembly/mz/TIC.vb:131\u0060 calls \u0060args\u0060 and \u0060src/assembly/mz/TIC.vb:78\u0060 does not \u2014 after which the two agree again for 3 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mz/TIC.vb"},"region":{"startLine":80}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f0f6a4e10e578856ca0477a746307b3e0d4df1608c62b20307933cf253da61e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): src/metadb/Lipidomics/SpectrumGenerator/MGEidSpectrumGenerator.vb:184-189 | src/metadb/Lipidomics/SpectrumGenerator/PCEidSpectrumGenerator.vb:173-178 | src/metadb/Lipidomics/SpectrumGenerator/PGEidSpectrumGenerator.vb:199-204 | src/metadb/Lipidomics/SpectrumGenerator/PIEidSpectrumGenerator.vb:207-212 | src/metadb/Lipidomics/SpectrumGenerator/PSEidSpectrumGenerator.vb:189-194 | src/metadb/Lipidomics/SpectrumGenerator/SMEidSpectrumGenerator.vb:189-194 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/MGEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/PIEidSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 41 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/MGEidSpectrumGenerator.vb"},"region":{"startLine":184}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ba50d0d4d7434c0540768638c9cfb9c17d437985b4d24a5250d77fdaf7c8e4d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1787-1793 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12143-12154 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12197-12204 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12250-12258 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1787}}}],"partialFingerprints":{"codehealthFindingId/v1":"6285e6e7b31a5dfaa700a3e1de11387999c575969e472bbd5ec93c5392ab808e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13550-13557 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13587-13594 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14242-14248 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14253-14259 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":13550}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5e95f0f28d78faa9a210f4b93b5c51a7ceb23ff85138fb1329076a9dda3a9aa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/visualize/MsImaging/Plot/DualRegionUnionPlot.vb:193-199 | src/visualize/MsImaging/Plot/MSIPlot.vb:165-171 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/visualize/MsImaging/Plot/DualRegionUnionPlot.vb:193\u0060 it begins part-way through the construct above it, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Plot/DualRegionUnionPlot.vb"},"region":{"startLine":193}}}],"partialFingerprints":{"codehealthFindingId/v1":"f8d9b541e15f44c7bcd18d4556198329b8f50569aae2f3e89804cf1030295533"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/metadb/Lipidomics/LipoqualityRest.vb:105-111 | src/metadb/Lipidomics/LipoqualityRest.vb:413-421 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityRest.vb"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b5db2b95285634ae0829cc83212701655f651b1c0b7e35ad39f44a54e6b4fb1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/metadb/Lipidomics/LipoqualityRest.vb:167-172 | src/metadb/Lipidomics/LipoqualityRest.vb:241-246 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityRest.vb"},"region":{"startLine":167}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbcec36582f39be455f32024153a65508517a6eb0baa0f7590a2569b5c7570bf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/metadb/Lipidomics/LipoqualityRest.vb:175-181 | src/metadb/Lipidomics/LipoqualityRest.vb:249-257 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityRest.vb"},"region":{"startLine":175}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d9d24bab78a098a828d9320f416c6efb704549542a3f745c9d2b2553fecdb5e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/metadb/Lipidomics/LipoqualityRest.vb:259-264 | src/metadb/Lipidomics/LipoqualityRest.vb:301-306 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityRest.vb"},"region":{"startLine":259}}}],"partialFingerprints":{"codehealthFindingId/v1":"c0226b9dc268f52247e4dfa9f9abd59a08d5bfa583f58d6f9740bc7ab5556ab9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/metadb/Lipidomics/LipoqualityRest.vb:267-273 | src/metadb/Lipidomics/LipoqualityRest.vb:309-317 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityRest.vb"},"region":{"startLine":267}}}],"partialFingerprints":{"codehealthFindingId/v1":"dcea1fb26b847721ba14657946c241dac9a6cb29050d4ed42b66bbeb13dcda25"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3104-3111 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4218-4224 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3104}}}],"partialFingerprints":{"codehealthFindingId/v1":"166a4124a27b2cc192e407bbea96c23b6884ace4809b7609b98c144bd413f01d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5316-5324 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5336-5342 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":5316}}}],"partialFingerprints":{"codehealthFindingId/v1":"d226259fdb88dcbd8de4d161a7ab209c8f047f19f087d692ddf74601682d9194"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7888-7895 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13644-13650 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":7888}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f2a7640b9e0cd35741b158e4d9c19c6d70dba7ab0f4eccafa21d3f349d849f9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/metadb/Lipidomics/OadSpectrumPeakGenerator.vb:77-82 | src/metadb/Lipidomics/SpectrumGeneratorUtility.vb:68-73 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/OadSpectrumPeakGenerator.vb"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"0312cb4e9efa82b65a6a432fdd95a7c8fc13461276d1007d02c3a599118700c4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/mzmath/mz_deco/Preprocessing/Normalization.vb:340-345 | src/mzmath/mz_deco/Preprocessing/Normalization.vb:362-367 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Preprocessing/Normalization.vb"},"region":{"startLine":340}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc57d6f417db10a4fa5a6a85cb4ddbfcdef6ed0f3d9cc79b346f481793ae5aff"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11667-11671 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11733-11737 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11849-11853 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11917-11921 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11987-11991 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11667}}}],"partialFingerprints":{"codehealthFindingId/v1":"6e6871b094da8e1cbefb1bd83a6454670fd588603ee242fc1ecf4a8bdfabbc46"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): src/metadb/Lipidomics/Omega3nChainGenerator.vb:215-220 | src/metadb/Lipidomics/Omega3nChainGenerator.vb:221-226 | src/metadb/Lipidomics/Omega3nChainGenerator.vb:227-233 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Omega3nChainGenerator.vb"},"region":{"startLine":215}}}],"partialFingerprints":{"codehealthFindingId/v1":"854d42a21919a14665660df09dd1908597bb20657013fbc83ecba879d8e28619"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/assembly/NMRFidTool/Math/apodization/TrafApodizator.vb:99-103 | src/assembly/NMRFidTool/Math/apodization/TrafsApodizator.vb:98-102 \u2014 before extracting anything, compare \u0060src/assembly/NMRFidTool/Math/apodization/TrafApodizator.vb\u0060 and \u0060src/assembly/NMRFidTool/Math/apodization/TrafsApodizator.vb\u0060 as WHOLE FILES: 84% of the shorter file\u0027s lines also appear in the other, so this reads as one file having been copied from the other rather than as a helper waiting to be extracted. The 1 duplicated block(s) this scan matched between them are fragments of that copy, not the extent of it \u2014 treat the file pair as the unit. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/TrafApodizator.vb"},"region":{"startLine":99}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb255c332ab3fb05d461d22a236d19b6e77deeaa80d41d7645b38c6844f1e09d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:1561-1566 | src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb:1602-1607 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":1561}}}],"partialFingerprints":{"codehealthFindingId/v1":"f3c451ac556df4164c457e6a17375bb3baa3a6db6d98035ef3443175d9e9b0dd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/EieioMsCharacterizationUtility.vb:316-321 | src/metadb/Lipidomics/MsCharacterization/EieioMsCharacterizationUtility.vb:326-331 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/EieioMsCharacterizationUtility.vb"},"region":{"startLine":316}}}],"partialFingerprints":{"codehealthFindingId/v1":"09b1303ba5e1cd910d334fc4cd3f145ccdb1407709e46c0a11c39cf08d759c07"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/metadb/Lipidomics/Omega3nChainGenerator.vb:103-108 | src/metadb/Lipidomics/Omega3nChainGenerator.vb:109-114 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Omega3nChainGenerator.vb"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"00addc92e7874dc814b0da86a1c1e1c5765b89b0bd226d868f866fd1b985d089"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/metadb/Massbank/Public/NCBI/PubChem/Web/Graph/WebGraph.vb:130-134 | src/metadb/Massbank/Public/NCBI/PubChem/Web/Graph/WebGraph.vb:142-146 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/Graph/WebGraph.vb"},"region":{"startLine":130}}}],"partialFingerprints":{"codehealthFindingId/v1":"533da171118ce9163a8dab2b13af41289d335dc584ba55382fed0c1d9c342823"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/metadb/Massbank/Public/NCBI/PubChem/Web/Query/QueryPathways.vb:83-87 | src/metadb/Massbank/Public/NCBI/PubChem/Web/Query/QueryPathways.vb:98-102 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/metadb/Massbank/Public/NCBI/PubChem/Web/Query/QueryPathways.vb:83\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/Query/QueryPathways.vb"},"region":{"startLine":83}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3ac04a834f42d28a8631487a2aeadc7a6a8485c9e25e3fdb54b9437676baabb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (4\u20136 lines \u00D7 3): src/mzmath/MSEngine/Search/MsScanMatching.vb:773-778 | src/mzmath/MSEngine/Search/MsScanMatching.vb:918-923 | src/mzmath/MSEngine/Search/MsScanMatching.vb:1052-1055 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just before the matched lines, \u0060src/mzmath/MSEngine/Search/MsScanMatching.vb:1052\u0060 calls \u0060List\u0060, \u0060Double\u0060 and \u0060src/mzmath/MSEngine/Search/MsScanMatching.vb:918\u0060 does not \u2014 after which the two agree again for 2 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":773}}}],"partialFingerprints":{"codehealthFindingId/v1":"51ed7e71b8448b64dff857ad1f5af5a66f60fe9b61fed8703e2a40929086df00"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 12): src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:385-389 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:390-395 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:553-557 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:703-707 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:834-838 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:947-951 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1042-1047 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1292-1296 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1513-1517 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1710-1714 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:1885-1889 | src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:2038-2043 \u2014 all 12 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:707\u0060 calls \u0060List\u0060 and \u0060src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb:395\u0060 does not \u2014 after which the two agree again for 3 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":385}}}],"partialFingerprints":{"codehealthFindingId/v1":"43d6e084cafc0295b97543c6526357b259e23cebe303107956fd84b2aad4139c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1180-1184 | src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb:1203-1207 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3672-3676 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3704-3713 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb\u0060 as WHOLE FILES: this scan already matched 32 separate duplicated blocks between them, totalling at least 530 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1180}}}],"partialFingerprints":{"codehealthFindingId/v1":"42c3cec28be4cc1b1907f82d93992d58232d8eec19244a1d18afe7b5e1f026de"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:950-954 | src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:977-981 | src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:1062-1066 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb"},"region":{"startLine":950}}}],"partialFingerprints":{"codehealthFindingId/v1":"7974892f9c62ef4f26aae7b23f8c0be0cce71721d079e3b296e64bfd80e38c7f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:1009-1013 | src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:1092-1096 | src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:1119-1123 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb"},"region":{"startLine":1009}}}],"partialFingerprints":{"codehealthFindingId/v1":"0de2b7eda1d9c8e0753abd8bd046ee1de964d2fe224a53118b9f5a0ad369fcb0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): src/metadb/Lipidomics/ChainParser/AcylChainParser.vb:100-104 | src/metadb/Lipidomics/ChainParser/AlkylChainParser.vb:115-119 | src/metadb/Lipidomics/ChainParser/SphingoChainParser.vb:103-107 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from all 3 call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ChainParser/AcylChainParser.vb"},"region":{"startLine":100}}}],"partialFingerprints":{"codehealthFindingId/v1":"be2586788018ca887f1b885d26fc8fe909948df52073ace0a8c047a77a238dfc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): src/metadb/Lipidomics/SpectrumGenerator/TGEidSpectrumGenerator.vb:160-164 | src/metadb/Lipidomics/SpectrumGenerator/TGSpectrumGenerator.vb:161-165 | src/metadb/Lipidomics/SpectrumGenerator/TGd5SpectrumGenerator.vb:164-168 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/TGEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/TGSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 49 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/TGEidSpectrumGenerator.vb"},"region":{"startLine":160}}}],"partialFingerprints":{"codehealthFindingId/v1":"02ee6fbe232a18648462357fbfc74a8052c5f4b24e80e5de29916735cf408a97"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): src/metadb/Lipidomics/TotalChainVariationGenerator.vb:174-178 | src/metadb/Lipidomics/TotalChainVariationGenerator.vb:188-192 | src/metadb/Lipidomics/TotalChainVariationGenerator.vb:207-211 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/TotalChainVariationGenerator.vb"},"region":{"startLine":174}}}],"partialFingerprints":{"codehealthFindingId/v1":"021928e33dd99638ed428344f9f73f665d7374f61df1c3eae1f3b073f1562a5a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/visualize/ComprehensiveMsPlot/GCxGC/GCxGCTIC2DPlot.vb:142-146 | src/visualize/plot/ChromatogramPlot/TICplot.vb:228-232 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/visualize/ComprehensiveMsPlot/GCxGC/GCxGCTIC2DPlot.vb:142\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/ComprehensiveMsPlot/GCxGC/GCxGCTIC2DPlot.vb"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ee2e29aeb929257f950b00e1cc8e43f9aca3ebccec0ade2cba7dd4e1cbaeb40"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:916-920 | src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb:1036-1040 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb"},"region":{"startLine":916}}}],"partialFingerprints":{"codehealthFindingId/v1":"82f457e2e3fca5d70f39ba626db22d9fc5f955fa42703cdf6bd57f775bcc9a1a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:694-698 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:951-955 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":694}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c24faddde72d686a7ef5e2c08520cd46def2b55593448f607208001802a995e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:783-787 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:996-1000 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":783}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ad4879af46edcfc6f8c5b74cfcc00bba813816c05d03c19fb361d5e0020eb6c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:867-871 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:908-912 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just before the matched lines, \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:907\u0060 calls \u0060If\u0060, \u0060ToString\u0060 and \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:865\u0060 does not \u2014 after which the two agree again for 4 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":867}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a8f49d0315589e2ec63be1b0d3819393de984fe3ca940168d3a8c9db85711c0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14235-14240 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16877-16881 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":14235}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c8843f8fb6138d64e7af536dc9f6e9381316de6aba148f65a51f3d23dd04e80"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/metadb/Lipidomics/Omega3nChainGenerator.vb:119-123 | src/metadb/Lipidomics/Omega3nChainGenerator.vb:166-170 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Omega3nChainGenerator.vb"},"region":{"startLine":119}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c84d74c0bab925e7a36d7f75a08f9fbcd883836297b1ca9db5471cc91399c9b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb:208-212 | src/metadb/Lipidomics/SpectrumGenerator/TGEidSpectrumGenerator.vb:240-244 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb"},"region":{"startLine":208}}}],"partialFingerprints":{"codehealthFindingId/v1":"49e1ba0cb4788cf3b514effec5948661beef05514a1a6930f4848a0102081f40"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/CESpectrumGenerator.vb:96-100 | src/metadb/Lipidomics/SpectrumGenerator/CEd7SpectrumGenerator.vb:94-98 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CESpectrumGenerator.vb"},"region":{"startLine":96}}}],"partialFingerprints":{"codehealthFindingId/v1":"feddeafe167b2f1a3b7a87139ac9d0097e7ad90106c8939db7aaa31f7c793f95"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/HBMPEidSpectrumGenerator.vb:164-168 | src/metadb/Lipidomics/SpectrumGenerator/HBMPSpectrumGenerator.vb:150-154 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/HBMPEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/HBMPSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 47 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/HBMPEidSpectrumGenerator.vb"},"region":{"startLine":164}}}],"partialFingerprints":{"codehealthFindingId/v1":"eee1cbca050d913c279740ecfac3e31ccd0279f0737481cb8ef4c9fdd7307f1d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/mzmath/ms2_simulator/MSGNN/Exporters.vb:106-112 | src/mzmath/ms2_simulator/MSGNN/Exporters.vb:246-250 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just after the matched lines, \u0060src/mzmath/ms2_simulator/MSGNN/Exporters.vb:113\u0060 calls \u0060Append\u0060 and \u0060src/mzmath/ms2_simulator/MSGNN/Exporters.vb:251\u0060 does not \u2014 after which the two agree again for 2 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_simulator/MSGNN/Exporters.vb"},"region":{"startLine":106}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e0fc1e9711da5baf4ee6e42cb33991480f8be1b18eb46cd7fcb028bfd7bf3af"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/metadb/Chemoinformatics/Formula/SevenGoldenRulesCheck.vb:153-157 | src/metadb/Chemoinformatics/Formula/SevenGoldenRulesCheck.vb:179-183 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/SevenGoldenRulesCheck.vb"},"region":{"startLine":153}}}],"partialFingerprints":{"codehealthFindingId/v1":"50b9bb7ed3158585e90d71cfda4c52c62d22e5ff082de438bf90636ecfcee9c5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/visualize/MsImaging/Reader/IndexReader.vb:156-161 | src/visualize/MsImaging/Reader/ReadRawPack.vb:209-214 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just before the matched lines, \u0060src/visualize/MsImaging/Reader/ReadRawPack.vb:207\u0060 calls \u0060MethodImpl\u0060 and \u0060src/visualize/MsImaging/Reader/IndexReader.vb:153\u0060 does not \u2014 after which the two agree again for 2 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Reader/IndexReader.vb"},"region":{"startLine":156}}}],"partialFingerprints":{"codehealthFindingId/v1":"f82fa99795d9e337081eaf8fee76d6dfd57fbb318db32355a05ac2db960b3cac"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (89 lines \u00D7 46): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1790-1986 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:1991-2147 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2152-2286 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2289-2399 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2403-2517 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2701-2806 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:2925-3086 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3536-3635 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3738-3854 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3858-3992 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:4874-5013 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5017-5160 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5164-5299 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5443-5575 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6008-6163 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6372-6465 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6597-6706 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6710-6803 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6807-6903 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6907-6999 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7944-8127 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:8194-8371 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:8375-8543 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:8547-8715 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:8719-8879 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:8883-9057 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9240-9352 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9356-9515 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9519-9689 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9693-9784 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:9788-9885 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:10074-10240 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12962-13081 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13085-13205 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14141-14231 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14276-14373 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14377-14474 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:14478-14566 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15068-15231 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15235-15375 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15380-15498 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15502-15605 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:15718-15806 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16233-16338 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16341-16508 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16543-16693 \u2014 all 46 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:8375\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":1790}}}],"partialFingerprints":{"codehealthFindingId/v1":"faeecda3144d579f213ca9a6d85d4e9f284d60190f5b36624f708e87d7cd78f8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (96 lines \u00D7 9): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:3127-3284 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:5843-6004 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:6469-6593 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7004-7144 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:7505-7600 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:10244-10455 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:10558-10769 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:10856-10981 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:16087-16230 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:10244\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":3127}}}],"partialFingerprints":{"codehealthFindingId/v1":"3497c6cdc2bd19fc7bea4bf24ef22ee1a4f08486ee49bf5eecdfc186c42e505e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (66 lines \u00D7 4): src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:11441-11574 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12391-12456 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:12460-12570 | src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb:13211-13369 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. The matched lines also transfer control out of the body holding them, which cannot survive a move into a called unit unchanged: have the extracted unit return that decision and let each site act on it."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":11441}}}],"partialFingerprints":{"codehealthFindingId/v1":"628680c3796c8d7bd8895e3de098aadf42d4624e231f8f102d14ab58c280e665"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb:86-91 | src/metadb/Lipidomics/SpectrumGenerator/BMPSpectrumGenerator.vb:86-91 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/BMPSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 55 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb"},"region":{"startLine":86}}}],"partialFingerprints":{"codehealthFindingId/v1":"c23cbeb762e43e595d7300b81e42a652e94575fe38e9580c03c7ad74d5a94cc9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 5): src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb:158-183 | src/metadb/Lipidomics/SpectrumGenerator/HBMPEidSpectrumGenerator.vb:175-191 | src/metadb/Lipidomics/SpectrumGenerator/HBMPEidSpectrumGenerator.vb:195-214 | src/metadb/Lipidomics/SpectrumGenerator/HBMPSpectrumGenerator.vb:166-185 | src/metadb/Lipidomics/SpectrumGenerator/HBMPSpectrumGenerator.vb:189-208 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/HBMPEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/HBMPSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 47 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb"},"region":{"startLine":158}}}],"partialFingerprints":{"codehealthFindingId/v1":"c811e3c8c44fecff1477dd3ffff4d7862f099de37cca1263edf9a64801b22ef4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/CESpectrumGenerator.vb:142-149 | src/metadb/Lipidomics/SpectrumGenerator/CEd7SpectrumGenerator.vb:140-147 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CESpectrumGenerator.vb"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d6b706dfe2c33bd37b431cf32da8d0eb8d861840039309f39dc9b3b672149b8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 5): src/metadb/Lipidomics/SpectrumGenerator/CeramideOadSpectrumGenerator.vb:151-160 | src/metadb/Lipidomics/SpectrumGenerator/SHexCerSpectrumGenerator.vb:181-192 | src/metadb/Lipidomics/SpectrumGenerator/SMEidSpectrumGenerator.vb:166-173 | src/metadb/Lipidomics/SpectrumGenerator/SMSpectrumGenerator.vb:169-178 | src/metadb/Lipidomics/SpectrumGenerator/SMd9SpectrumGenerator.vb:160-167 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/SMEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/SMSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 66 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CeramideOadSpectrumGenerator.vb"},"region":{"startLine":151}}}],"partialFingerprints":{"codehealthFindingId/v1":"6bc26fde6656ebd10ebe4c664a103b392dc7b226ff004b214fe5d6f84d67b4e9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 3): src/metadb/Lipidomics/SpectrumGenerator/CeramidePhytoSphSpectrumGenerator.vb:157-170 | src/metadb/Lipidomics/SpectrumGenerator/CeramideSpectrumGenerator.vb:160-171 | src/metadb/Lipidomics/SpectrumGenerator/HexCerSpectrumGenerator.vb:173-184 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/CeramidePhytoSphSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/CeramideSpectrumGenerator.vb\u0060 as WHOLE FILES: 88% of the shorter file\u0027s lines also appear in the other, so this reads as one file having been copied from the other rather than as a helper waiting to be extracted. The 2 duplicated block(s) this scan matched between them are fragments of that copy, not the extent of it \u2014 treat the file pair as the unit. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CeramidePhytoSphSpectrumGenerator.vb"},"region":{"startLine":157}}}],"partialFingerprints":{"codehealthFindingId/v1":"b23759b488b0c7455995ed44880ac08b7c4c3fc59e70394a895ce77d88d822b6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/CLEidSpectrumGenerator.vb:90-95 | src/metadb/Lipidomics/SpectrumGenerator/CLSpectrumGenerator.vb:90-95 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/CLEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/CLSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 38 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CLEidSpectrumGenerator.vb"},"region":{"startLine":90}}}],"partialFingerprints":{"codehealthFindingId/v1":"96d6cc8d8e8324b258e6c53f5555ad49af2fa242a4da50d3e7cd693e7e5406bc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (24 lines \u00D7 3): src/metadb/Lipidomics/SpectrumGenerator/CLEidSpectrumGenerator.vb:144-167 | src/metadb/Lipidomics/SpectrumGenerator/PGSpectrumGenerator.vb:129-162 | src/metadb/Lipidomics/SpectrumGenerator/PGd5SpectrumGenerator.vb:128-161 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/PGSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/PGd5SpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 68 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CLEidSpectrumGenerator.vb"},"region":{"startLine":144}}}],"partialFingerprints":{"codehealthFindingId/v1":"fcf67d2a5a68f32ab80aae227ea60fe0362a6b56e88f34bc5e5e7bbf5dae2504"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/CLEidSpectrumGenerator.vb:233-240 | src/metadb/Lipidomics/SpectrumGenerator/CLSpectrumGenerator.vb:216-223 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/CLEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/CLSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 38 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CLEidSpectrumGenerator.vb"},"region":{"startLine":233}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f0ba103144d2c7dd31deee512c29469cc968371f4acf151dc22cde081765d74"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 7): src/metadb/Lipidomics/SpectrumGenerator/DGEidSpectrumGenerator.vb:148-167 | src/metadb/Lipidomics/SpectrumGenerator/DGSpectrumGenerator.vb:147-168 | src/metadb/Lipidomics/SpectrumGenerator/DGd5SpectrumGenerator.vb:147-168 | src/metadb/Lipidomics/SpectrumGenerator/MGEidSpectrumGenerator.vb:151-170 | src/metadb/Lipidomics/SpectrumGenerator/PIEidSpectrumGenerator.vb:175-193 | src/metadb/Lipidomics/SpectrumGenerator/PISpectrumGenerator.vb:172-190 | src/metadb/Lipidomics/SpectrumGenerator/PId5SpectrumGenerator.vb:172-190 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/DGEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/DGSpectrumGenerator.vb\u0060 as WHOLE FILES: 85% of the shorter file\u0027s lines also appear in the other, so this reads as one file having been copied from the other rather than as a helper waiting to be extracted. The 2 duplicated block(s) this scan matched between them are fragments of that copy, not the extent of it \u2014 treat the file pair as the unit. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/DGEidSpectrumGenerator.vb"},"region":{"startLine":148}}}],"partialFingerprints":{"codehealthFindingId/v1":"10ddf3b1de16ac19c61b0f65cf987e8a929c7a1d5fb15b88bd4d2d19c32fda94"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/DMEDFAHFASpectrumGenerator.vb:166-187 | src/metadb/Lipidomics/SpectrumGenerator/DMEDFASpectrumGenerator.vb:141-147 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/DMEDFAHFASpectrumGenerator.vb"},"region":{"startLine":166}}}],"partialFingerprints":{"codehealthFindingId/v1":"23454245f357672a7863e596bc3edfdf085440dd225127191a314af6c24b8e9a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (28 lines \u00D7 5): src/metadb/Lipidomics/SpectrumGenerator/EtherPCSpectrumGenerator.vb:139-166 | src/metadb/Lipidomics/SpectrumGenerator/PCSpectrumGenerator.vb:126-154 | src/metadb/Lipidomics/SpectrumGenerator/PCd5SpectrumGenerator.vb:126-154 | src/metadb/Lipidomics/SpectrumGenerator/PESpectrumGenerator.vb:128-159 | src/metadb/Lipidomics/SpectrumGenerator/PEd5SpectrumGenerator.vb:130-161 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/PCSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/PCd5SpectrumGenerator.vb\u0060 as WHOLE FILES: 89% of the shorter file\u0027s lines also appear in the other, so this reads as one file having been copied from the other rather than as a helper waiting to be extracted. The 2 duplicated block(s) this scan matched between them are fragments of that copy, not the extent of it \u2014 treat the file pair as the unit. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/EtherPCSpectrumGenerator.vb"},"region":{"startLine":139}}}],"partialFingerprints":{"codehealthFindingId/v1":"49d8c11ce4f5d34103104e8844cbc78c52d745e196944f2a45ac7b932c321da3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/HBMPEidSpectrumGenerator.vb:91-96 | src/metadb/Lipidomics/SpectrumGenerator/HBMPSpectrumGenerator.vb:91-96 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/HBMPEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/HBMPSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 47 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/HBMPEidSpectrumGenerator.vb"},"region":{"startLine":91}}}],"partialFingerprints":{"codehealthFindingId/v1":"50e85552f554a778e6d7d6d17f71eb41b5b19fd814a36024ab3616ca5af43997"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/HBMPEidSpectrumGenerator.vb:219-228 | src/metadb/Lipidomics/SpectrumGenerator/HBMPSpectrumGenerator.vb:213-222 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/HBMPEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/HBMPSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 47 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/HBMPEidSpectrumGenerator.vb"},"region":{"startLine":219}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a1cff7277c1cda6b1dd6acb58f5a1cf2cdf51343bcff86f2e28f9f380544c33"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 6): src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb:168-179 | src/metadb/Lipidomics/SpectrumGenerator/LPCSpectrumGenerator.vb:173-184 | src/metadb/Lipidomics/SpectrumGenerator/LPCd5SpectrumGenerator.vb:173-184 | src/metadb/Lipidomics/SpectrumGenerator/LPEEidSpectrumGenerator.vb:173-182 | src/metadb/Lipidomics/SpectrumGenerator/LPESpectrumGenerator.vb:177-188 | src/metadb/Lipidomics/SpectrumGenerator/LPEd5SpectrumGenerator.vb:177-188 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/LPCSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 37 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb"},"region":{"startLine":168}}}],"partialFingerprints":{"codehealthFindingId/v1":"f80f961e48a48e1dc062d0050ecff234a61a324c62db6eb2be52a8e84a555c90"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (25 lines \u00D7 3): src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb:136-160 | src/metadb/Lipidomics/SpectrumGenerator/LPEEidSpectrumGenerator.vb:130-161 | src/metadb/Lipidomics/SpectrumGenerator/LPSEidSpectrumGenerator.vb:132-160 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/LPEEidSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 66 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb"},"region":{"startLine":136}}}],"partialFingerprints":{"codehealthFindingId/v1":"667494da3a04534357692f10fe7db0e001e2b78c7ed83fd0eb241049904763a7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (37 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/LPESpectrumGenerator.vb:129-165 | src/metadb/Lipidomics/SpectrumGenerator/LPEd5SpectrumGenerator.vb:129-165 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/LPESpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/LPEd5SpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 61 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPESpectrumGenerator.vb"},"region":{"startLine":129}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff6448462498e60077cf67ceac5b6a59a7071d8e738c6105c46becd5f39092fb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 3): src/metadb/Lipidomics/SpectrumGenerator/LPGEidSpectrumGenerator.vb:182-192 | src/metadb/Lipidomics/SpectrumGenerator/LPGSpectrumGenerator.vb:194-206 | src/metadb/Lipidomics/SpectrumGenerator/LPGd5SpectrumGenerator.vb:192-204 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/LPGSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/LPGd5SpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 79 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPGEidSpectrumGenerator.vb"},"region":{"startLine":182}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b248f0094d61057dbbfb08f1a989c1416c985e0230acee89bc95f19114f04cb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (42 lines \u00D7 3): src/metadb/Lipidomics/SpectrumGenerator/LPIEidSpectrumGenerator.vb:135-176 | src/metadb/Lipidomics/SpectrumGenerator/LPISpectrumGenerator.vb:129-179 | src/metadb/Lipidomics/SpectrumGenerator/LPId5SpectrumGenerator.vb:129-179 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/LPIEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/LPISpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 71 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPIEidSpectrumGenerator.vb"},"region":{"startLine":135}}}],"partialFingerprints":{"codehealthFindingId/v1":"5cf4fa8f23401521ec7652c92ec1b7222c612ebf61a9590f5450cd7ad6253846"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/LPISpectrumGenerator.vb:209-213 | src/metadb/Lipidomics/SpectrumGenerator/LPId5SpectrumGenerator.vb:209-213 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/LPISpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/LPId5SpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 82 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place. Read the line range as the matched WINDOW rather than a finished unit: at \u0060src/metadb/Lipidomics/SpectrumGenerator/LPISpectrumGenerator.vb:209\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPISpectrumGenerator.vb"},"region":{"startLine":209}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5c07d91ed62d462bd2a841dce77fbd5e83c934863f45d451af28a580bb1007b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/LPIEidSpectrumGenerator.vb:92-97 | src/metadb/Lipidomics/SpectrumGenerator/LPISpectrumGenerator.vb:92-97 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/LPIEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/LPISpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 71 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPIEidSpectrumGenerator.vb"},"region":{"startLine":92}}}],"partialFingerprints":{"codehealthFindingId/v1":"71d18eb0bdf418afc6f7b44042e0ebe22cea718ce971fad72d0abadddedc0d44"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 3): src/metadb/Lipidomics/SpectrumGenerator/LPSEidSpectrumGenerator.vb:173-183 | src/metadb/Lipidomics/SpectrumGenerator/LPSSpectrumGenerator.vb:177-189 | src/metadb/Lipidomics/SpectrumGenerator/LPSd5SpectrumGenerator.vb:177-189 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/LPSSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/LPSd5SpectrumGenerator.vb\u0060 as WHOLE FILES: 90% of the shorter file\u0027s lines also appear in the other, so this reads as one file having been copied from the other rather than as a helper waiting to be extracted. The 2 duplicated block(s) this scan matched between them are fragments of that copy, not the extent of it \u2014 treat the file pair as the unit. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPSEidSpectrumGenerator.vb"},"region":{"startLine":173}}}],"partialFingerprints":{"codehealthFindingId/v1":"4dfda379d8a0721e492a1e8da2e5ec890f997dca6dcac73af01d97f64c06fc0a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/MGEidSpectrumGenerator.vb:82-87 | src/metadb/Lipidomics/SpectrumGenerator/MGSpectrumGenerator.vb:84-89 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/MGEidSpectrumGenerator.vb"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"e95d12e97c01ed879e0c65e63b0e071e407c761dbcef7f9224f3bc06160c350a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/PAEidSpectrumGenerator.vb:89-94 | src/metadb/Lipidomics/SpectrumGenerator/PASpectrumGenerator.vb:90-95 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/PAEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/PASpectrumGenerator.vb\u0060 as WHOLE FILES: 90% of the shorter file\u0027s lines also appear in the other, so this reads as one file having been copied from the other rather than as a helper waiting to be extracted. The 2 duplicated block(s) this scan matched between them are fragments of that copy, not the extent of it \u2014 treat the file pair as the unit. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PAEidSpectrumGenerator.vb"},"region":{"startLine":89}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c65c2c6173a867f0b9695fcd1ae46a066cb10514a5a8d99892da67d5be302d4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 4): src/metadb/Lipidomics/SpectrumGenerator/PSSpectrumGenerator.vb:178-197 | src/metadb/Lipidomics/SpectrumGenerator/PSSpectrumGenerator.vb:201-213 | src/metadb/Lipidomics/SpectrumGenerator/PSd5SpectrumGenerator.vb:178-197 | src/metadb/Lipidomics/SpectrumGenerator/PSd5SpectrumGenerator.vb:201-213 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/PSSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/PSd5SpectrumGenerator.vb\u0060 as WHOLE FILES: 92% of the shorter file\u0027s lines also appear in the other, so this reads as one file having been copied from the other rather than as a helper waiting to be extracted. The 2 duplicated block(s) this scan matched between them are fragments of that copy, not the extent of it \u2014 treat the file pair as the unit. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PSSpectrumGenerator.vb"},"region":{"startLine":178}}}],"partialFingerprints":{"codehealthFindingId/v1":"f96ef888a94f1cb87cc77bf3a766e7f98ff94e62f80f43c2a72340601be1716a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/metadb/Lipidomics/SpectrumGenerator/SMEidSpectrumGenerator.vb:83-91 | src/metadb/Lipidomics/SpectrumGenerator/SMSpectrumGenerator.vb:86-94 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/SMEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/SMSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 66 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/SMEidSpectrumGenerator.vb"},"region":{"startLine":83}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd9a1f31c76627880e13b22d940b17d59ee773737f5a102eb4cf3d34169cc459"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (24 lines \u00D7 3): src/metadb/Lipidomics/SpectrumGenerator/TGEidSpectrumGenerator.vb:194-222 | src/metadb/Lipidomics/SpectrumGenerator/TGSpectrumGenerator.vb:195-221 | src/metadb/Lipidomics/SpectrumGenerator/TGd5SpectrumGenerator.vb:196-219 \u2014 before extracting anything, compare \u0060src/metadb/Lipidomics/SpectrumGenerator/TGEidSpectrumGenerator.vb\u0060 and \u0060src/metadb/Lipidomics/SpectrumGenerator/TGSpectrumGenerator.vb\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 49 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/TGEidSpectrumGenerator.vb"},"region":{"startLine":194}}}],"partialFingerprints":{"codehealthFindingId/v1":"f17cd001f730bc418d329b40d9298a61bd08f8edc1a6b0a2f563758a6cde03f5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/metadna/metaDNA/Models/UnknownSet.vb:147-153 | src/mzmath/ms2_math-core/Ms1/Tolerance/Tolerance.vb:262-268 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Models/UnknownSet.vb"},"region":{"startLine":147}}}],"partialFingerprints":{"codehealthFindingId/v1":"b794d0bead99c40ae627d68e5efe8c2d8a6c9b005bdc5e3f2b89d029c1304488"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/metadb/Massbank/Public/lipidMAPS/LipidClassReader.vb:93-98 | src/metadb/Massbank/Public/lipidMAPS/LipidNameReader.vb:71-76 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/lipidMAPS/LipidClassReader.vb"},"region":{"startLine":93}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0dabef0a7738285beb433204ee64fb03566f854d5adce2f250e5a58895b97cc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 4): src/mzmath/ms2_math-core/Chromatogram/ChromXType.vb:144-157 | src/mzmath/ms2_math-core/Chromatogram/ChromXType.vb:206-219 | src/mzmath/ms2_math-core/Chromatogram/ChromXType.vb:268-281 | src/mzmath/ms2_math-core/Chromatogram/ChromXType.vb:331-344 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Chromatogram/ChromXType.vb"},"region":{"startLine":144}}}],"partialFingerprints":{"codehealthFindingId/v1":"5487663bfdc49f0b6614558d03117ee51ed603dd1bc69cbfc6337b04d51be848"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/metadna/metaDNA/Result/ResultHandler.vb:172-176 | src/metadna/metaDNA/Result/ResultHandler.vb:190-194 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited. Note that the copies do not run to the end of the range shown: their LAST lines are different code, not the same code under different names \u2014 the matched region ends inside that line. Extract the lines above it, and read the last line of each site separately. \u2605 These copies have DRIFTED, and that is worth reading before extracting anything: just before the matched lines, \u0060src/metadna/metaDNA/Result/ResultHandler.vb:172\u0060 calls \u0060Select\u0060, \u0060Function\u0060, \u0060Log\u0060 and \u0060src/metadna/metaDNA/Result/ResultHandler.vb:190\u0060 does not \u2014 after which the two agree again for 2 more lines. One of those two behaviours is the intended one and the other is what a copy-paste left behind, so decide which BEFORE unifying them: extracting the shared part will silently settle it, and if the copy that skips the call is the wrong one, that bug is already live."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Result/ResultHandler.vb"},"region":{"startLine":172}}}],"partialFingerprints":{"codehealthFindingId/v1":"f289eb14d76700f09547a12d52e9d4b915bad084de6bb150448e329bee49efe4"}},{"ruleId":"D5","level":"warning","message":{"text":"Unstable project Targetted.NET5: Targetted.NET5 has instability 0.63 with 3 dependents."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/Targetted.NET5.vbproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0bfc3f3c4e898a0a720815c99b866a90b0c0a211d30e1678e21b109f889aac14"}},{"ruleId":"D5","level":"warning","message":{"text":"Off the main sequence: TissueMorphology: TissueMorphology: abstractness 0.00, instability 0.00, distance 1.00 \u2014 zone of pain \u2014 concrete and depended on by 4 project(s), so it\u0027s rigid to change."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/TissueMorphology/TissueMorphology.vbproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"30dbbe3d84c76a7926a2e0e7b7ac27b507c2f124c84be67e289e6a93099d593c"}},{"ruleId":"D5","level":"warning","message":{"text":"Off the main sequence: deconv.NET5: deconv.NET5: abstractness 0.02, instability 0.08, distance 0.89 \u2014 zone of pain \u2014 concrete and depended on by 9 project(s), so it\u0027s rigid to change."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/deconv.NET5.vbproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9122e6760786eea4d716e7f2cbdc961cdab9f0e1f202ec6d48465f4dab81aece"}},{"ruleId":"D5","level":"warning","message":{"text":"Off the main sequence: chemoinformatics-netcore5: chemoinformatics-netcore5: abstractness 0.08, instability 0.03, distance 0.89 \u2014 zone of pain \u2014 concrete and depended on by 21 project(s), so it\u0027s rigid to change."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/chemoinformatics-netcore5.vbproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b0449b9120c1b943f161302b2636fe5a1bf8e23a793b15de8df7695bffd7d6e"}},{"ruleId":"D5","level":"warning","message":{"text":"Off the main sequence: SMILES.NET5: SMILES.NET5: abstractness 0.00, instability 0.13, distance 0.88 \u2014 zone of pain \u2014 concrete and depended on by 6 project(s), so it\u0027s rigid to change."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/SMILES.NET5.vbproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"63e37a432549320adaa1af195ee9e79632dd0430417846f33152a6437d1d001b"}},{"ruleId":"D5","level":"warning","message":{"text":"Off the main sequence: assembly-netcore5: assembly-netcore5: abstractness 0.10, instability 0.04, distance 0.86 \u2014 zone of pain \u2014 concrete and depended on by 19 project(s), so it\u0027s rigid to change."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/assembly-netcore5.vbproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e76b5378f3490037d592fffd99ea771128ce3c88517907d927a0846fd0a14c0"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: MSScan (LCOM4 4): MSScan\u0027s methods fall into 4 groups that share no field and call none of each other, against a bar of more than 3 for this run (LCOM4, configurable \u2014 your repository\u0027s bar is the one quoted here). Each group is a set of methods reachable from one another through shared fields or direct calls, so 4 groups means the type has that many internally-connected clusters with nothing tying them together. Types whose shape makes a high count expected \u2014 and which would otherwise dominate this list \u2014 are excluded before this row is raised, so this is a genuine split candidate rather than a metric reading. It is still a shape, not a defect: confirm the groups match responsibilities you can name before splitting."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/Stream/MSScan.vb"},"region":{"startLine":74}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f8f107fc402a898b24d605f158631f7ade2ca1fa4a6453d2716c9ef2c589e03"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: PixelReader (LCOM4 4): PixelReader\u0027s methods fall into 4 groups that share no field and call none of each other, against a bar of more than 3 for this run (LCOM4, configurable \u2014 your repository\u0027s bar is the one quoted here). Each group is a set of methods reachable from one another through shared fields or direct calls, so 4 groups means the type has that many internally-connected clusters with nothing tying them together. Types whose shape makes a high count expected \u2014 and which would otherwise dominate this list \u2014 are excluded before this row is raised, so this is a genuine split candidate rather than a metric reading. It is still a shape, not a defect: confirm the groups match responsibilities you can name before splitting."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Reader/PixelReader.vb"},"region":{"startLine":83}}}],"partialFingerprints":{"codehealthFindingId/v1":"9be1cf8d5e840ad610777caad7ce76c868f836a280db1265b9bec182e9296115"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: PositionLevelChains (LCOM4 4): PositionLevelChains\u0027s methods fall into 4 groups that share no field and call none of each other, against a bar of more than 3 for this run (LCOM4, configurable \u2014 your repository\u0027s bar is the one quoted here). Each group is a set of methods reachable from one another through shared fields or direct calls, so 4 groups means the type has that many internally-connected clusters with nothing tying them together. Types whose shape makes a high count expected \u2014 and which would otherwise dominate this list \u2014 are excluded before this row is raised, so this is a genuine split candidate rather than a metric reading. It is still a shape, not a defect: confirm the groups match responsibilities you can name before splitting."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/PositionLevelChains.vb"},"region":{"startLine":59}}}],"partialFingerprints":{"codehealthFindingId/v1":"e2b26fb51af3c1a7effb83d27c2e8a287730404b10d49eaf76788493c95c11b6"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: ChemicalFormula (LCOM4 4): ChemicalFormula\u0027s methods fall into 4 groups that share no field and call none of each other, against a bar of more than 3 for this run (LCOM4, configurable \u2014 your repository\u0027s bar is the one quoted here). Each group is a set of methods reachable from one another through shared fields or direct calls, so 4 groups means the type has that many internally-connected clusters with nothing tying them together. Types whose shape makes a high count expected \u2014 and which would otherwise dominate this list \u2014 are excluded before this row is raised, so this is a genuine split candidate rather than a metric reading. It is still a shape, not a defect: confirm the groups match responsibilities you can name before splitting."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/Graph/ChemicalFormula.vb"},"region":{"startLine":70}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4e572fefba193c0965aa9598a03b94240a2eb561a1f53efa35f4dfe48abb245"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: ModificationContainer (LCOM4 4): ModificationContainer\u0027s methods fall into 4 groups that share no field and call none of each other, against a bar of more than 3 for this run (LCOM4, configurable \u2014 your repository\u0027s bar is the one quoted here). Each group is a set of methods reachable from one another through shared fields or direct calls, so 4 groups means the type has that many internally-connected clusters with nothing tying them together. Types whose shape makes a high count expected \u2014 and which would otherwise dominate this list \u2014 are excluded before this row is raised, so this is a genuine split candidate rather than a metric reading. It is still a shape, not a defect: confirm the groups match responsibilities you can name before splitting."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/ModificationContainer.vb"},"region":{"startLine":68}}}],"partialFingerprints":{"codehealthFindingId/v1":"3db7e2b452fee0ab34c8591ba7a20490e85543b5faf2823712469fabef8f0302"}},{"ruleId":"D8","level":"warning","message":{"text":"Coverage not measured \u2014 no coverage collector is wired up: Coverage NOT MEASURED: \u0060--collect:\u0022XPlat Code Coverage\u0022\u0060 names a data collector that ships in the \u0060coverlet.collector\u0060 package, and this repository wires up none \u2014 no test project references it and no runsettings declares one. The absence of coverage here is therefore not evidence about the suite or about our analyzer environment: without a collector, \u0060--collect\u0060 produces nothing even from a suite that builds and passes. Add a \u0060coverlet.collector\u0060 PackageReference to the test project(s) (or commit the Cobertura/OpenCover/lcov report your CI produces) and real coverage will be measured. It is excluded from the score rather than counted as a near-zero defect."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"62e63e619c28f057e129f2997c965d32a457366a9ce18ca019ffb6bdfba85c99"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: src/visualize/plot/ChromatogramPlot/TICplot.vb: src/visualize/plot/ChromatogramPlot/TICplot.vb changed 2 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 21 in TICplot.RunPlot at line 200. 2 of those changes were fix/bug commits, so the churn is repair rather than feature work. Before the next change lands here, make sure the area it touches is under test, then split that area out of the file so the following change is smaller than this one \u2014 a file this often edited pays the complexity back every time. Counted over 2026-07-15..2026-10-13, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-07-15 23:20:08 \u002B08:00\u0027 --until=\u00272026-10-13 23:20:08 \u002B08:00\u0027 --full-history --no-merges -- src/visualize/plot/ChromatogramPlot/TICplot.vb\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/ChromatogramPlot/TICplot.vb"},"region":{"startLine":200}}}],"partialFingerprints":{"codehealthFindingId/v1":"c90255509fc3ea1d04d30edcad63d2f4c652a430abaf9e9d0910278f3c3bb429"}},{"ruleId":"D15","level":"warning","message":{"text":"Repeated repair: Rscript/Library/mzkit_app/src/mzplot/src/Visual.vb: Rscript/Library/mzkit_app/src/mzplot/src/Visual.vb changed 3 times in last 90 days and 3 of those changes were fix/bug commits, so repair is the majority of this file\u0027s churn. Its max cyclomatic complexity is 7 (its worst body is Visual.Snapshot3D at line 727), UNDER the 15 threshold, so this is deliberately not filed as a churn \u00D7 complexity hotspot \u2014 the difficulty here is in the behaviour the file has to get right, not in its control flow, and refactoring it for complexity would be the wrong move. The repairs counted were: \u201Cfix for the plot module re-construct error\u201D; \u201Cfix of the data plots namespace reference error\u201D; \u201Cfix of the namespace imports\u201D. Each one is a case this code did not handle. Before the next change lands here, check that every one of them is pinned by a test that fails without its fix; where the same area keeps coming back, the durable fix is usually at the interface that keeps being misused rather than at the line that was last corrected. Counted over 2026-07-15..2026-10-13, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-07-15 23:20:08 \u002B08:00\u0027 --until=\u00272026-10-13 23:20:08 \u002B08:00\u0027 --full-history --no-merges -- Rscript/Library/mzkit_app/src/mzplot/src/Visual.vb\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzplot/src/Visual.vb"},"region":{"startLine":727}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7b467d9f989edcfbcc35f1d8b021e4e1ac1b602527413ef6f7a203351f6aa31"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment repeated across 17 files: The identical TodoComment appears in 17 files (17 occurrences) \u2014 almost certainly one boilerplate line from a single migration or decision, not 17 independent debts. Fix the systemic cause once rather than file-by-file. Text: \u0022\u0027 TODO: \u91CA\u653E\u6258\u7BA1\u72B6\u6001(\u6258\u7BA1\u5BF9\u8C61)\u0022. Source code is not a task system: track the cleanup where tasks live. (Every occurrence still counts toward the score and metrics.)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/functions/z_assembler.vb"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"ecf0bdd8cd79198d188decabcc8d353c7ee8aa745a3dbf2347d6a3cc1c575201"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment repeated across 13 files: The identical TodoComment appears in 13 files (13 occurrences) \u2014 almost certainly one boilerplate line from a single migration or decision, not 13 independent debts. Fix the systemic cause once rather than file-by-file. Text: \u0022\u0027 TODO: \u91CA\u653E\u672A\u6258\u7BA1\u7684\u8D44\u6E90(\u672A\u6258\u7BA1\u7684\u5BF9\u8C61)\u5E76\u91CD\u5199\u7EC8\u7ED3\u5668\u0022. Source code is not a task system: track the cleanup where tasks live. (Every occurrence still counts toward the score and metrics.)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/functions/z_assembler.vb"},"region":{"startLine":86}}}],"partialFingerprints":{"codehealthFindingId/v1":"825e2164fb25bf1f8ab75000521fa16ccb2389507292a9367dfc0118b287ae87"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment repeated across 17 files: The identical TodoComment appears in 17 files (17 occurrences) \u2014 almost certainly one boilerplate line from a single migration or decision, not 17 independent debts. Fix the systemic cause once rather than file-by-file. Text: \u0022\u0027 TODO: \u5C06\u5927\u578B\u5B57\u6BB5\u8BBE\u7F6E\u4E3A null\u0022. Source code is not a task system: track the cleanup where tasks live. (Every occurrence still counts toward the score and metrics.)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/functions/z_assembler.vb"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"19e61263b86c96b99933e2e69dfb7db4bc5aa96c5c6a530ecc1ab1f58dbdfb3e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment repeated across 17 files: The identical TodoComment appears in 17 files (17 occurrences) \u2014 almost certainly one boilerplate line from a single migration or decision, not 17 independent debts. Fix the systemic cause once rather than file-by-file. Text: \u0022\u0027 \u0027 TODO: \u4EC5\u5F53\u201CDispose(disposing As Boolean)\u201D\u62E5\u6709\u7528\u4E8E\u91CA\u653E\u672A\u6258\u7BA1\u8D44\u6E90\u7684\u4EE3\u7801\u65F6\u624D\u66FF\u4EE3\u7EC8\u7ED3\u5668\u0022. Source code is not a task system: track the cleanup where tasks live. (Every occurrence still counts toward the score and metrics.)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/functions/z_assembler.vb"},"region":{"startLine":92}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c2636e34e256319fad64deb0e0dcc127c0a75d743c35dc6ff9879475d86e32d"}},{"ruleId":"D17","level":"warning","message":{"text":"XxxComment: \u0027 example as pos: XXX -\u003E sample1 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/Math.vb"},"region":{"startLine":584}}}],"partialFingerprints":{"codehealthFindingId/v1":"84e1ce7e13153e3a1d13b873ed254fa3c1bbddabccded59b4c372bfdaf154cae"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block \u2014 the error is discarded with nothing recorded, so a failure here leaves no trace anywhere. Record it through whatever this codebase already uses to report problems, or let it propagate. Where swallowing one specific failure really is correct \u2014 as it often is on a teardown/dispose path where throwing would mask the original failure \u2014 catch exactly that exception type and write down WHY in a comment on the catch. Both are needed: a comment on a catch-all still swallows every failure nobody anticipated, and a note that only restates the swallow (\u0022ignored\u0022, \u0022do nothing\u0022) is read as no explanation at all."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/mzDeco.vb"},"region":{"startLine":193}}}],"partialFingerprints":{"codehealthFindingId/v1":"01321555d21c36689a473b4282faf7ab870f4d8da9859a5a5842a9b236a822fd"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block \u2014 the error is discarded with nothing recorded, so a failure here leaves no trace anywhere. Record it through whatever this codebase already uses to report problems, or let it propagate. Where swallowing one specific failure really is correct \u2014 as it often is on a teardown/dispose path where throwing would mask the original failure \u2014 catch exactly that exception type and write down WHY in a comment on the catch. Both are needed: a comment on a catch-all still swallows every failure nobody anticipated, and a note that only restates the swallow (\u0022ignored\u0022, \u0022do nothing\u0022) is read as no explanation at all."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/Raw/BrukerSettingsFileReader.vb"},"region":{"startLine":190}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d0f743003d7e38b0d4c91552f912c820fd453f08f699c0e58188a4952447e9e"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block \u2014 the error is discarded with nothing recorded, so a failure here leaves no trace anywhere. Record it through whatever this codebase already uses to report problems, or let it propagate. Where swallowing one specific failure really is correct \u2014 as it often is on a teardown/dispose path where throwing would mask the original failure \u2014 catch exactly that exception type and write down WHY in a comment on the catch. Both are needed: a comment on a catch-all still swallows every failure nobody anticipated, and a note that only restates the swallow (\u0022ignored\u0022, \u0022do nothing\u0022) is read as no explanation at all."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.Interop/ProteoWizardCLI.vb"},"region":{"startLine":339}}}],"partialFingerprints":{"codehealthFindingId/v1":"f33dab038bf9e91c27b98754c6c07e865632ce50a2c4fb610427ee19ef9747c5"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block \u2014 the error is discarded with nothing recorded, so a failure here leaves no trace anywhere. Record it through whatever this codebase already uses to report problems, or let it propagate. Where swallowing one specific failure really is correct \u2014 as it often is on a teardown/dispose path where throwing would mask the original failure \u2014 catch exactly that exception type and write down WHY in a comment on the catch. Both are needed: a comment on a catch-all still swallows every failure nobody anticipated, and a note that only restates the swallow (\u0022ignored\u0022, \u0022do nothing\u0022) is read as no explanation at all."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Pack/Compression.vb"},"region":{"startLine":100}}}],"partialFingerprints":{"codehealthFindingId/v1":"1b6bfcf840834bf7bf4637753b81c7fe6755b7b70573e07522860ae00e7a82f5"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block \u2014 the error is discarded with nothing recorded, so a failure here leaves no trace anywhere. Record it through whatever this codebase already uses to report problems, or let it propagate. Where swallowing one specific failure really is correct \u2014 as it often is on a teardown/dispose path where throwing would mask the original failure \u2014 catch exactly that exception type and write down WHY in a comment on the catch. Both are needed: a comment on a catch-all still swallows every failure nobody anticipated, and a note that only restates the swallow (\u0022ignored\u0022, \u0022do nothing\u0022) is read as no explanation at all."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":374}}}],"partialFingerprints":{"codehealthFindingId/v1":"6bdcabd603233efe2539d86717294762c2769309aa9c1f9a544e73bfb02ba84d"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block \u2014 the error is discarded with nothing recorded, so a failure here leaves no trace anywhere. Record it through whatever this codebase already uses to report problems, or let it propagate. Where swallowing one specific failure really is correct \u2014 as it often is on a teardown/dispose path where throwing would mask the original failure \u2014 catch exactly that exception type and write down WHY in a comment on the catch. Both are needed: a comment on a catch-all still swallows every failure nobody anticipated, and a note that only restates the swallow (\u0022ignored\u0022, \u0022do nothing\u0022) is read as no explanation at all."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":524}}}],"partialFingerprints":{"codehealthFindingId/v1":"fee1f845b3f12749978befdb079ca817d629a947adade2ee9da75ef481fd1474"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block \u2014 the error is discarded with nothing recorded, so a failure here leaves no trace anywhere. Record it through whatever this codebase already uses to report problems, or let it propagate. Where swallowing one specific failure really is correct \u2014 as it often is on a teardown/dispose path where throwing would mask the original failure \u2014 catch exactly that exception type and write down WHY in a comment on the catch. Both are needed: a comment on a catch-all still swallows every failure nobody anticipated, and a note that only restates the swallow (\u0022ignored\u0022, \u0022do nothing\u0022) is read as no explanation at all."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":1623}}}],"partialFingerprints":{"codehealthFindingId/v1":"e219fd137c06f4bfceef4dba84ad5ef6a43f6527604cbe16a6016473aa8adac5"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block \u2014 the error is discarded with nothing recorded, so a failure here leaves no trace anywhere. Record it through whatever this codebase already uses to report problems, or let it propagate. Where swallowing one specific failure really is correct \u2014 as it often is on a teardown/dispose path where throwing would mask the original failure \u2014 catch exactly that exception type and write down WHY in a comment on the catch. Both are needed: a comment on a catch-all still swallows every failure nobody anticipated, and a note that only restates the swallow (\u0022ignored\u0022, \u0022do nothing\u0022) is read as no explanation at all."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":1793}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d7313940f5fadc9d15cddcb02a34fc68fc5b8eb2800621a86c56baf05e960c0"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block \u2014 the error is discarded with nothing recorded, so a failure here leaves no trace anywhere. Record it through whatever this codebase already uses to report problems, or let it propagate. Where swallowing one specific failure really is correct \u2014 as it often is on a teardown/dispose path where throwing would mask the original failure \u2014 catch exactly that exception type and write down WHY in a comment on the catch. Both are needed: a comment on a catch-all still swallows every failure nobody anticipated, and a note that only restates the swallow (\u0022ignored\u0022, \u0022do nothing\u0022) is read as no explanation at all."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/Massbank/RecordIO.vb"},"region":{"startLine":122}}}],"partialFingerprints":{"codehealthFindingId/v1":"69f802352c149df8cd727666497e14227f4b3ded59e6d77f16d60280391674da"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027 TODO: add apodization ability \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/Raw/DataReader.vb"},"region":{"startLine":72}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3b05f8ce8f7e1a8ca17ecaa1c822123a15dfe8642dc5ce22e08bb1809a07564"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027 TODO: remove all dependence on DeconEngine (FFT, apodization, etc). \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/Raw/DataReader.vb"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb15945f3ddd8b3d8bcb63bf27a9435bd92334bed73b67dfb86c3789c0d0dbf3"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment repeated across 14 files: The identical TodoComment appears in 14 files (14 occurrences) \u2014 almost certainly one boilerplate line from a single migration or decision, not 14 independent debts. Fix the systemic cause once rather than file-by-file. Text: \u0022\u0027 TODO: dispose managed state (managed objects)\u0022. Source code is not a task system: track the cleanup where tasks live. (Every occurrence still counts toward the score and metrics.)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/flexImaging/mcf/index_sqlite/IndexParser.vb"},"region":{"startLine":114}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b2d11888b19b2a7c38d31893d81b0bfddd91917624927544123aa74b3b09ce8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment repeated across 14 files: The identical TodoComment appears in 14 files (14 occurrences) \u2014 almost certainly one boilerplate line from a single migration or decision, not 14 independent debts. Fix the systemic cause once rather than file-by-file. Text: \u0022\u0027 TODO: free unmanaged resources (unmanaged objects) and override finalizer\u0022. Source code is not a task system: track the cleanup where tasks live. (Every occurrence still counts toward the score and metrics.)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/flexImaging/mcf/index_sqlite/IndexParser.vb"},"region":{"startLine":118}}}],"partialFingerprints":{"codehealthFindingId/v1":"5762d730345679d57ed8e4b441fe34bd9e0a8d54f746f02f7e0c2ccb71751595"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment repeated across 14 files: The identical TodoComment appears in 14 files (14 occurrences) \u2014 almost certainly one boilerplate line from a single migration or decision, not 14 independent debts. Fix the systemic cause once rather than file-by-file. Text: \u0022\u0027 TODO: set large fields to null\u0022. Source code is not a task system: track the cleanup where tasks live. (Every occurrence still counts toward the score and metrics.)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/flexImaging/mcf/index_sqlite/IndexParser.vb"},"region":{"startLine":119}}}],"partialFingerprints":{"codehealthFindingId/v1":"0686a76e51d9d4b5843a7e50cf09f567fc6e505ab02bb6ede4562c36aad79bbb"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment repeated across 14 files: The identical TodoComment appears in 14 files (14 occurrences) \u2014 almost certainly one boilerplate line from a single migration or decision, not 14 independent debts. Fix the systemic cause once rather than file-by-file. Text: \u0022\u0027 \u0027 TODO: override finalizer only if \u0027Dispose(disposing As Boolean)\u0027 has code to free unmanaged resources\u0022. Source code is not a task system: track the cleanup where tasks live. (Every occurrence still counts toward the score and metrics.)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/flexImaging/mcf/index_sqlite/IndexParser.vb"},"region":{"startLine":124}}}],"partialFingerprints":{"codehealthFindingId/v1":"61fb4c9f2885a1157ebe99ba922c890d7d3670213b59f3be4a21ef49e371e44a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027TODO adapt the FFT to the new object Spectrum \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/AbstractFastFourierTransformTool.vb"},"region":{"startLine":126}}}],"partialFingerprints":{"codehealthFindingId/v1":"0183484685c0a25913df2bb1d84f05c490f4dccd741dede2f35f8f114efc2d99"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027TODO use an enum for parameters that have a limited set of options such as aquisition mode \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Acqu.vb"},"region":{"startLine":141}}}],"partialFingerprints":{"codehealthFindingId/v1":"0515b654c7ea697e8df7c9f51dbad89b990d5b47499a072e99b44cdc04ebda18"}},{"ruleId":"D17","level":"note","message":{"text":"ObsoleteWithoutCallers: \u003CObsolete\u003E FFTBase"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/FFT/FFTBase.vb"},"region":{"startLine":70}}}],"partialFingerprints":{"codehealthFindingId/v1":"24e1717b16e4966204a8f3e44d4d46b1dd387489a9f8c7d5feb0341f3965aa2e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027 TODO perhaps change this to accept an Acqu object, to make aparent that the acquisition mode has to be defined \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/ApodizationTool.vb"},"region":{"startLine":114}}}],"partialFingerprints":{"codehealthFindingId/v1":"068747eb101c3f646ff4d21d7cd2928dcd9eafd85cd99aaf8c4300f906f59ed3"}},{"ruleId":"D17","level":"note","message":{"text":"ObsoleteWithoutCallers: \u003CObsolete\u003E ApodizationTool"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/ApodizationTool.vb"},"region":{"startLine":101}}}],"partialFingerprints":{"codehealthFindingId/v1":"46725ba189ed8b63410a3d92e94b914a0a67ee83d267f2a36e0b3a43cb677617"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027TODO check if the equation to calculate the factor is correct \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/LorentzGausApodizatior.vb"},"region":{"startLine":121}}}],"partialFingerprints":{"codehealthFindingId/v1":"8db22f46dce3ba09985fc9db3ad0b4128e4d9e7b15d02cbc4ff99b2cfaf90432"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027TODO fix this class \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/SineApodizator.vb"},"region":{"startLine":96}}}],"partialFingerprints":{"codehealthFindingId/v1":"8301f28ec0aca1177ced75881861e8e77d14a38cb6fc98b6a625a6c8ae8734b9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027 TODO allow to redifine \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/SineApodizator.vb"},"region":{"startLine":101}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b83b0926a2dc7cfaf2ca4ad9d25afefbbdb10c93c439e4bc55d991ca38c2378"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027TODO write down this class \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/ZeroFillApodizator.vb"},"region":{"startLine":93}}}],"partialFingerprints":{"codehealthFindingId/v1":"a366138c8baa7fdb49b0a72b87ee68761b15163cf992b2a0448592f84b27435e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027 TODO !!!make sure this is not the first point!!!! but the first point would break this... \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/baseline/GolotvinWilliamsBaselineCorrector.vb"},"region":{"startLine":191}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6a7bb154bbf63146ec6e66271a1203a3477a0f218765ec8e815270967e9fe30"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027TODO consider moving this to the Fourier Transformed class or processing class.... \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Proc.vb"},"region":{"startLine":130}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6f4f536e216414c23710271fd7260a615f6383f7eb4567f08e2631d3cf95d8d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027TODO move to java.nio.file \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Reader/SimplePdataReader.vb"},"region":{"startLine":119}}}],"partialFingerprints":{"codehealthFindingId/v1":"470e555df21a38811075a72898eb77c907cc7d0722022c061806443f819c3caf"}},{"ruleId":"D17","level":"warning","message":{"text":"BarePragmaDisable: #Disable Warning \u2014 the disable is closed again below, so its scope is not the problem; what it records is no reason: there is nothing on the directive line, and no ordinary comment attached to it either side. A suppression is a decision somebody made, and without the reason the next reader cannot tell a considered exception from an unexamined one, so it is never revisited and it outlives the code it was written for. Put the reason on the directive line \u2014 what makes this site legitimately different \u2014 or fix what the rule is pointing at and delete the pair. A rationale in the member\u0027s documentation comment does not clear this row and is not meant to: it explains the member to its callers, and the next person to touch the suppression is not reading it for that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Query/TreeSearch.vb"},"region":{"startLine":121}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b4f679729f47c532449e68d07742249f3ee942e5d1336f77eeb5e82b7a32cf3"}},{"ruleId":"D17","level":"warning","message":{"text":"BarePragmaDisable: #Disable Warning \u2014 the disable is closed again below, so its scope is not the problem; what it records is no reason: there is nothing on the directive line, and no ordinary comment attached to it either side. A suppression is a decision somebody made, and without the reason the next reader cannot tell a considered exception from an unexamined one, so it is never revisited and it outlives the code it was written for. Put the reason on the directive line \u2014 what makes this site legitimately different \u2014 or fix what the rule is pointing at and delete the pair. A rationale in the member\u0027s documentation comment does not clear this row and is not meant to: it explains the member to its callers, and the next person to touch the suppression is not reading it for that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/mzXMLWriter.vb"},"region":{"startLine":302}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b05364d7cbd4741c70641fd0a6b1c7d031aca7d95d4a41aea2f5ce628a036db"}},{"ruleId":"D17","level":"warning","message":{"text":"BarePragmaDisable: #Disable Warning \u2014 the disable is closed again below, so its scope is not the problem; what it records is no reason: there is nothing on the directive line, and no ordinary comment attached to it either side. A suppression is a decision somebody made, and without the reason the next reader cannot tell a considered exception from an unexamined one, so it is never revisited and it outlives the code it was written for. Put the reason on the directive line \u2014 what makes this site legitimately different \u2014 or fix what the rule is pointing at and delete the pair. A rationale in the member\u0027s documentation comment does not clear this row and is not meant to: it explains the member to its callers, and the next person to touch the suppression is not reading it for that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/v2.0/mzStream.vb"},"region":{"startLine":400}}}],"partialFingerprints":{"codehealthFindingId/v1":"5270bd8f48ff18c92ba9719b71598686f1ed13666db5eb395766bc1b1f5b8926"}},{"ruleId":"D17","level":"warning","message":{"text":"BarePragmaDisable: #Disable Warning \u2014 the disable is closed again below, so its scope is not the problem; what it records is no reason: there is nothing on the directive line, and no ordinary comment attached to it either side. A suppression is a decision somebody made, and without the reason the next reader cannot tell a considered exception from an unexamined one, so it is never revisited and it outlives the code it was written for. Put the reason on the directive line \u2014 what makes this site legitimately different \u2014 or fix what the rule is pointing at and delete the pair. A rationale in the member\u0027s documentation comment does not clear this row and is not meant to: it explains the member to its callers, and the next person to touch the suppression is not reading it for that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Extensions.vb"},"region":{"startLine":75}}}],"partialFingerprints":{"codehealthFindingId/v1":"63fb971439a1e027939c5b0a2d4a82463b4180cc11e3e7e6edca39cca34e290c"}},{"ruleId":"D17","level":"warning","message":{"text":"BarePragmaDisable: #Disable Warning \u2014 the disable is closed again below, so its scope is not the problem; what it records is no reason: there is nothing on the directive line, and no ordinary comment attached to it either side. A suppression is a decision somebody made, and without the reason the next reader cannot tell a considered exception from an unexamined one, so it is never revisited and it outlives the code it was written for. Put the reason on the directive line \u2014 what makes this site legitimately different \u2014 or fix what the rule is pointing at and delete the pair. A rationale in the member\u0027s documentation comment does not clear this row and is not meant to: it explains the member to its callers, and the next person to touch the suppression is not reading it for that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Ruler.vb"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"47e862912c0d6c8085b0f354ff405f177a330dcfd8fc448ebe215f56b7951ddc"}},{"ruleId":"D17","level":"warning","message":{"text":"BarePragmaDisable: #Disable Warning \u2014 the disable is closed again below, so its scope is not the problem; what it records is no reason: there is nothing on the directive line, and no ordinary comment attached to it either side. A suppression is a decision somebody made, and without the reason the next reader cannot tell a considered exception from an unexamined one, so it is never revisited and it outlives the code it was written for. Put the reason on the directive line \u2014 what makes this site legitimately different \u2014 or fix what the rule is pointing at and delete the pair. A rationale in the member\u0027s documentation comment does not clear this row and is not meant to: it explains the member to its callers, and the next person to touch the suppression is not reading it for that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/TissueMorphology/Scatter/Extensions.vb"},"region":{"startLine":116}}}],"partialFingerprints":{"codehealthFindingId/v1":"bdd7b7e2f34935abeb7cd60dcf4593fad8b90ecdebad3a3994cdbc098e11f977"}},{"ruleId":"D17","level":"note","message":{"text":"ObsoleteWithoutCallers: \u003CObsolete\u003E ParentIonMonoisotopicMZ"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/DataObjects/SingleScanInfo.vb"},"region":{"startLine":180}}}],"partialFingerprints":{"codehealthFindingId/v1":"eeee171d051866e8b9760a0e97166ee868a64f0e1af96346038fe978ed3c978d"}},{"ruleId":"D17","level":"note","message":{"text":"ObsoleteWithoutCallers: \u003CObsolete\u003E IsolationWindowTargetMZ"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/DataObjects/SingleScanInfo.vb"},"region":{"startLine":196}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ee8c3ab2640b755a5bafdebf4a46036c3dfcc6889a570fab2d21d5151391cf7"}},{"ruleId":"D17","level":"note","message":{"text":"ObsoleteWithoutCallers: \u003CObsolete\u003E GetCollisionEnergyUnnormalized"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":2601}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a567d5af3cef0ead63dda49c80b4bbf4b2e7c25836b29819dadb89bd30bf7fe"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027 TODO: \u91CA\u653E\u672A\u6258\u7BA1\u7684\u8D44\u6E90(\u672A\u6258\u7BA1\u7684\u5BF9\u8C61)\u5E76\u66FF\u4EE3\u7EC8\u7ED3\u5668 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/XmlSeek.vb"},"region":{"startLine":221}}}],"partialFingerprints":{"codehealthFindingId/v1":"31ec4b81d6b391ea47a025a9aea526530926ed92aac3b03cd98a7cb9dbfd5711"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027 TODO: \u91CA\u653E\u672A\u6258\u7BA1\u7684\u8D44\u6E90(\u672A\u6258\u7BA1\u7684\u5BF9\u8C61)\u5E76\u66FF\u4EE3\u7EC8\u7ED3\u5668 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/Binary/BinaryStreamReader.vb"},"region":{"startLine":399}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f1e013f8be87e178ff4261d38d3b9011372c921314b04b9ae6ef2add22f8941"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027 TODO: \u91CA\u653E\u672A\u6258\u7BA1\u7684\u8D44\u6E90(\u672A\u6258\u7BA1\u7684\u5BF9\u8C61)\u5E76\u66FF\u4EE3\u7EC8\u7ED3\u5668 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/Binary/BinaryStreamWriter.vb"},"region":{"startLine":300}}}],"partialFingerprints":{"codehealthFindingId/v1":"eae880d5d4d2090d91bc03f0951ec4120c124aa9031fb393a20cb3b72e78f535"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027 TODO: \u91CA\u653E\u672A\u6258\u7BA1\u7684\u8D44\u6E90(\u672A\u6258\u7BA1\u7684\u5BF9\u8C61)\u5E76\u66FF\u4EE3\u7EC8\u7ED3\u5668 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Reader/PixelReader.vb"},"region":{"startLine":390}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5e70ddd250e3655e25846c4ac87516d72ce27fced3c7c34bfe0bafa52232287"}},{"ruleId":"D17","level":"error","message":{"text":"OnErrorResumeSwallow: On Error Resume Next silently swallows every runtime error until the enclosing method returns \u2014 scope it with a paired \u0060On Error GoTo 0\u0060 and check \u0060Err.Number\u0060, or convert to a \u0060Try\u2026Catch\u0060."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/Writer/mzPackWriter.vb"},"region":{"startLine":381}}}],"partialFingerprints":{"codehealthFindingId/v1":"982006c90ddf162f05ea8cad580feea6fe69f5a116e7703f471d02850351dbdd"}},{"ruleId":"D17","level":"error","message":{"text":"OnErrorResumeSwallow: On Error Resume Next silently swallows every runtime error until the enclosing method returns \u2014 scope it with a paired \u0060On Error GoTo 0\u0060 and check \u0060Err.Number\u0060, or convert to a \u0060Try\u2026Catch\u0060."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/v2.0/mzStream.vb"},"region":{"startLine":189}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e80d84be0ead4afc5d91f4a0f1da514c9ec7ec377d121c6110a15b43680abb4"}},{"ruleId":"D17","level":"error","message":{"text":"OnErrorResumeSwallow: On Error Resume Next silently swallows every runtime error until the enclosing method returns \u2014 scope it with a paired \u0060On Error GoTo 0\u0060 and check \u0060Err.Number\u0060, or convert to a \u0060Try\u2026Catch\u0060."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/ChemicalDescriptor.vb"},"region":{"startLine":233}}}],"partialFingerprints":{"codehealthFindingId/v1":"aebfd66efa524b5f80d58e51465c3a72db6d0e18538eed51f754558a8a3379e5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027 TODO: Formula class maybe better. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/ILipid.vb"},"region":{"startLine":108}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f7747758b56e32798e32da28c6b5b92e59ce15a96e9cf83771f870de21d1e8c"}},{"ruleId":"D17","level":"note","message":{"text":"ObsoleteWithoutCallers: \u003CObsolete\u003E GetAcylDoubleBondSpectrum"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGeneratorUtility.vb"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"1707d53b081d5aef8b418339609168af5ec8559a3c14bb56ea8c803ebec00b4a"}},{"ruleId":"D17","level":"note","message":{"text":"ObsoleteWithoutCallers: \u003CObsolete\u003E GetAlkylDoubleBondSpectrum"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGeneratorUtility.vb"},"region":{"startLine":96}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b0bc8f650919813391bc683bae77c3b5bff1c9f0ad46be91bcbd0ed1a193ff0"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027 TODO: refactoring \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/TotalChainVariationGenerator.vb"},"region":{"startLine":138}}}],"partialFingerprints":{"codehealthFindingId/v1":"8bcdd47d24c4a28db7e16572edc26f5ff63995836100c3e7634878d39652b756"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027 TODO: dispose managed state (managed objects). \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChemDescriptorRepo.vb"},"region":{"startLine":249}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9ed69c3ba23b0dc55cc9e46ac05fadf46c7cc4066df8157ed48984b7d85fdbe"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027 TODO: free unmanaged resources (unmanaged objects) and override Finalize() below. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChemDescriptorRepo.vb"},"region":{"startLine":257}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c1efef6388528f8ead8de3bf759ef68aa749b319f571ddb5e7aeb583092e1d3"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027 TODO: set large fields to null. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChemDescriptorRepo.vb"},"region":{"startLine":258}}}],"partialFingerprints":{"codehealthFindingId/v1":"cb601b2a8e83f9275b1141deee2d9b6c479c67c2157af7db8a40bd1b2bfb01d2"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027 TODO: override Finalize() only if Dispose(disposing As Boolean) above has code to free unmanaged resources. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChemDescriptorRepo.vb"},"region":{"startLine":263}}}],"partialFingerprints":{"codehealthFindingId/v1":"90b2913d54e2a425f148bae9ac6cd25023ca2f0f38158e6afc55c3dac90116aa"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: \u0027 TODO: uncomment the following line if Finalize() is overridden above. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060\u0027 REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChemDescriptorRepo.vb"},"region":{"startLine":274}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc58609ed94a4b9dfd715b799e3d4cf6032853316c4c192ba87dcae1fbd0466b"}},{"ruleId":"D17","level":"note","message":{"text":"ObsoleteWithoutCallers: \u003CObsolete\u003E .ctor"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/MoleculeMsReference.vb"},"region":{"startLine":121}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f6e5e724a60cffe526675a1fe7d0f9d0ff0c6142cd350574a1843057d76aeae"}},{"ruleId":"D17","level":"error","message":{"text":"InvertedNullGuard: If ion Is Nothing Then \u2026 ion.precursor \u2014 the guard has already decided this variable is null on the way into this branch, and nothing here gives it another value, so this dereference cannot run without throwing a NullReferenceException. It survives because the branch is the uncommon one: the code is correct on every input where the variable is set, and crashes on exactly the case the branch was written to handle. Decide which the line meant \u2014 if it is reporting the absence, it must not read through the missing value (use the other variable that identifies it, or a literal); if it is meant to work on a value, it belongs in the other branch."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/MRM/IonLibrary.vb"},"region":{"startLine":102}}}],"partialFingerprints":{"codehealthFindingId/v1":"bbff4416833b69c770df531ee9c61e5870712f8652809760e29614ba23d5122a"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 74 projects that do not exist: \u0060Rscript/Library/mzkit.NET5.slnx\u0060 declares 74 project file(s) that are missing from the tree (\u0060STRaid.vbproj\u0060, \u0060SingleExpression.vbproj\u0060, \u0060HTS_matrix-netcore5.vbproj\u0060, \u0060Fisher.NET5.vbproj\u0060, \u0060gsea-netcore5.vbproj\u0060, \u0060annotation.NET5.vbproj\u0060, \u002B68 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit.NET5.slnx"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2bb5ecae2bbb8b737b2d5b12c72acdc32f94426941bf67fe520510811ae89834"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 27 projects that do not exist: \u0060src/visualize/MsPlot.NET5.sln\u0060 declares 27 project file(s) that are missing from the tree (\u0060binarydata-netcore5.vbproj\u0060, \u0060datastorage-netcore5.vbproj\u0060, \u0060FeatherFormat.vbproj\u0060, \u0060HDSPack.vbproj\u0060, \u0060SQLite3.vbproj\u0060, \u0060msgpack-netcore5.vbproj\u0060, \u002B21 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsPlot.NET5.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3cfb0225f93b76ebdf794985c5df180d21211da031454568420e7fea022f1da3"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 7 projects that do not exist: \u0060src/metadb/Lipidomics.sln\u0060 declares 7 project file(s) that are missing from the tree (\u0060biocore-netcore5.vbproj\u0060, \u0060graph-netcore5.vbproj\u0060, \u0060linear-netcore5.vbproj\u0060, \u0060stats-netcore5.vbproj\u0060, \u0060Math.NET5.vbproj\u0060, \u0060signalprocessing-netcore5.vbproj\u0060, \u002B1 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"58d45e4fcad002992a820895f7b9dfb6c93718b8c472abeeefa2869e899b310a"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 13 projects that do not exist: \u0060src/assembly/MzPackExtensions.sln\u0060 declares 13 project file(s) that are missing from the tree (\u0060biocore-netcore5.vbproj\u0060, \u0060binarydata-netcore5.vbproj\u0060, \u0060HDSPack.vbproj\u0060, \u0060msgpack-netcore5.vbproj\u0060, \u0060netCDF.vbproj\u0060, \u0060graph-netcore5.vbproj\u0060, \u002B7 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/MzPackExtensions.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"32a4aeb3364d39389ca3b32dae62d3d4d796f75c8dbef5e7bf26602931a290e8"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 19 projects that do not exist: \u0060src/assembly/Comprehensive/Comprehensive.sln\u0060 declares 19 project file(s) that are missing from the tree (\u0060STRaid.vbproj\u0060, \u0060SingleExpression.vbproj\u0060, \u0060HTS_matrix-netcore5.vbproj\u0060, \u0060CDF.PInvoke.vbproj\u0060, \u0060HDF.PInvoke.Core.csproj\u0060, \u0060binarydata-netcore5.vbproj\u0060, \u002B13 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/Comprehensive.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9659aedaf67b3172a070480774681b3173664e6773ca5a843c6cc570bfded3dc"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 10 projects that do not exist: \u0060src/mzmath/ms2_simulator.sln\u0060 declares 10 project file(s) that are missing from the tree (\u0060biocore-netcore5.vbproj\u0060, \u0060Trinity.NET5.vbproj\u0060, \u0060word2vec.vbproj\u0060, \u0060DataMining.NET5.vbproj\u0060, \u0060graph-netcore5.vbproj\u0060, \u0060Bootstrapping.vbproj\u0060, \u002B4 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_simulator.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c3359927b42793a469beb9dd3ce3362282d1efd7b7ff0e87ed9c3b41709f0d7"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 14 projects that do not exist: \u0060src/mzmath/Mummichog.sln\u0060 declares 14 project file(s) that are missing from the tree (\u0060HTS_matrix-netcore5.vbproj\u0060, \u0060Fisher.NET5.vbproj\u0060, \u0060biocore-netcore5.vbproj\u0060, \u0060DataMining.NET5.vbproj\u0060, \u0060graph-netcore5.vbproj\u0060, \u0060machine_learning-netcore5.vbproj\u0060, \u002B8 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Mummichog.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"72ee80884940ef964e569d335fe3461bb7f1f2b2218a52461e120dc99238b3b6"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 9 projects that do not exist: \u0060src/mzmath/TargetedMetabolomics.sln\u0060 declares 9 project file(s) that are missing from the tree (\u0060binarydata-netcore5.vbproj\u0060, \u0060msgpack-netcore5.vbproj\u0060, \u0060netCDF.vbproj\u0060, \u0060dataframework-netcore5.vbproj\u0060, \u0060linear-netcore5.vbproj\u0060, \u0060Math.NET5.vbproj\u0060, \u002B3 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"594f645f2c4f724b900beead82167f137ddff98f6c92d447d3e2c42f255d0053"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 9 projects that do not exist: \u0060src/metadb/MoNA.sln\u0060 declares 9 project file(s) that are missing from the tree (\u0060Bio.Assembly.vbproj\u0060, \u006047_dotnet_ms-vb_data.framework.vbproj\u0060, \u0060math-core.vbproj\u0060, \u006047-dotnet_Microsoft.VisualBasic.vbproj\u0060, \u0060src/Assembly/assembly/assembly.vbproj\u0060, \u0060src/metadb/Chemoinformatics/Chemoinformatics.vbproj\u0060, \u002B3 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"eac94de78e18bea2ae14e747685105ff11bdb920f0bad2878d1f99e75c4fa616"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 13 projects that do not exist: \u0060src/assembly/vendors.sln\u0060 declares 13 project file(s) that are missing from the tree (\u0060R.vbproj\u0060, \u0060BinaryData.vbproj\u0060, \u0060DataStorage.vbproj\u0060, \u006047_dotnet_ms-vb_data.framework.vbproj\u0060, \u0060math-core.vbproj\u0060, \u0060SignalProcessing.vbproj\u0060, \u002B7 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/vendors.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f60c578d68d8697ac10f1fe1651704e5f57c9a3047de24e42c713634f702ef10"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 11 projects that do not exist: \u0060src/mzmath/TargetedMetabolomics/TargetedMetabolomics.sln\u0060 declares 11 project file(s) that are missing from the tree (\u0060binarydata-netcore5.vbproj\u0060, \u0060datastorage-netcore5.vbproj\u0060, \u0060FeatherFormat.vbproj\u0060, \u0060msgpack-netcore5.vbproj\u0060, \u0060netCDF.vbproj\u0060, \u0060dataframework-netcore5.vbproj\u0060, \u002B5 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/TargetedMetabolomics.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9fc3a7837e3eca8c4599075827ed725e4bacfbae38822c85ab7a9fe00ecba60"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 7 projects that do not exist: \u0060src/mzmath/deconv.NET5.sln\u0060 declares 7 project file(s) that are missing from the tree (\u0060binarydata-netcore5.vbproj\u0060, \u0060dataframework-netcore5.vbproj\u0060, \u0060linear-netcore5.vbproj\u0060, \u0060Math.NET5.vbproj\u0060, \u0060signalprocessing-netcore5.vbproj\u0060, \u0060Core.vbproj\u0060, \u002B1 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/deconv.NET5.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"365aaff7d56f75387db4b2dedef413458d6bee929e3517618567a42d693b20b4"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 8 projects that do not exist: \u0060src/mzmath/mz_deco.sln\u0060 declares 8 project file(s) that are missing from the tree (\u0060BinaryData.vbproj\u0060, \u006047_dotnet_ms-vb_data.framework.vbproj\u0060, \u0060math-core.vbproj\u0060, \u0060SignalProcessing.vbproj\u0060, \u006047-dotnet_Microsoft.VisualBasic.vbproj\u0060, \u0060src/assembly/assembly/assembly.vbproj\u0060, \u002B2 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3cebe222eef82922a7e4eb69433fc980f74e81d41b50a86bcc301b061bd23bea"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 7 projects that do not exist: \u0060src/metadb/PeaksAnnotation.sln\u0060 declares 7 project file(s) that are missing from the tree (\u0060graph-netcore5.vbproj\u0060, \u0060linear-netcore5.vbproj\u0060, \u0060stats-netcore5.vbproj\u0060, \u0060Math.NET5.vbproj\u0060, \u0060signalprocessing-netcore5.vbproj\u0060, \u0060Core.vbproj\u0060, \u002B1 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/PeaksAnnotation.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4aa8c79d4edee7a9c11054c6a6e849dc2b2bfc3194b4179c589445d7baa1b97e"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 5 projects that do not exist: \u0060src/metadb/Massbank.sln\u0060 declares 5 project file(s) that are missing from the tree (\u0060Bio.Assembly.vbproj\u0060, \u006047_dotnet_ms-vb_data.framework.vbproj\u0060, \u006047-dotnet_Microsoft.VisualBasic.vbproj\u0060, \u0060src/metadb/Chemoinformatics/Chemoinformatics.vbproj\u0060, \u0060src/metadb/Massbank/Massbank.vbproj\u0060). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5daba07975d7eaebd88b1f0fad9c3d1d1ab1167648056c5ae3b38a6d2571ec48"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 7 projects that do not exist: \u0060src/assembly/BrukerDataReader.sln\u0060 declares 7 project file(s) that are missing from the tree (\u0060binarydata-netcore5.vbproj\u0060, \u0060datastorage-netcore5.vbproj\u0060, \u0060SQLite3.vbproj\u0060, \u0060dataframework-netcore5.vbproj\u0060, \u0060Math.NET5.vbproj\u0060, \u0060signalprocessing-netcore5.vbproj\u0060, \u002B1 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"abe8c865f19d43d10b5a50faa1c460b486d1ddf7561f1ec9edf98fbe81e347ff"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 15 projects that do not exist: \u0060src/metadb/PubChem.NET6.sln\u0060 declares 15 project file(s) that are missing from the tree (\u0060Fisher.NET5.vbproj\u0060, \u0060gsea-netcore5.vbproj\u0060, \u0060biocore-netcore5.vbproj\u0060, \u0060go_owl-netcore5.vbproj\u0060, \u0060obo_foundry-netcore5.vbproj\u0060, \u0060biopax-netcore5.vbproj\u0060, \u002B9 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/PubChem.NET6.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb8c776e70f776b9d4fed4b23217f4f73719ac660b913ae5e1a0371010e98eba"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 6 projects that do not exist: \u0060src/assembly/LoadR.NET5.sln\u0060 declares 6 project file(s) that are missing from the tree (\u0060Rsharp-netcore5.vbproj\u0060, \u0060RData.NET5.vbproj\u0060, \u0060binarydata-netcore5.vbproj\u0060, \u0060graph-netcore5.vbproj\u0060, \u0060Math.NET5.vbproj\u0060, \u0060Core.vbproj\u0060). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/LoadR.NET5.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"87f46de7f245fb985299eca1cbc5cc41513bb2257fa91e3b7c48c314b6e8e272"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 4 projects that do not exist: \u0060src/metadb/SMILES_struct.sln\u0060 declares 4 project file(s) that are missing from the tree (\u0060graph-netcore5.vbproj\u0060, \u0060stats-netcore5.vbproj\u0060, \u0060Math.NET5.vbproj\u0060, \u0060Core.vbproj\u0060). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES_struct.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9b5ff8e8389d7a8874ac5d244c32b90824f5d2d0f20f43908b6d707e6d92871"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 4 projects that do not exist: \u0060src/mzmath/Oligonucleotide_MS.sln\u0060 declares 4 project file(s) that are missing from the tree (\u0060biocore-netcore5.vbproj\u0060, \u0060stats-netcore5.vbproj\u0060, \u0060Math.NET5.vbproj\u0060, \u0060Core.vbproj\u0060). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"59b33a49581cdd3ff0db3c595a2f4b9ace489e1aee5dfd09e750454b437f01c1"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 3 projects that do not exist: \u0060src/assembly/assembly.sln\u0060 declares 3 project file(s) that are missing from the tree (\u0060binarydata-netcore5.vbproj\u0060, \u0060Math.NET5.vbproj\u0060, \u0060Core.vbproj\u0060). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d623874ffe056833d8398ee0633caa7de80d2e237becd16779312b8d674cfed"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 18 projects that do not exist: \u0060src/metadna/metaDNA.sln\u0060 declares 18 project file(s) that are missing from the tree (\u0060Bio.Assembly.vbproj\u0060, \u0060BinaryData.vbproj\u0060, \u0060MessagePack.vbproj\u0060, \u006047_dotnet_ms-vb_data.framework.vbproj\u0060, \u0060GraphTheory.vbproj\u0060, \u0060Math.Statistics.vbproj\u0060, \u002B12 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"14f11cd6d346ce1106b3fdd0524ba6d2422a4565d880e8264567842586ad0762"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 7 projects that do not exist: \u0060src/metadna/KEGG_MetaDNA.sln\u0060 declares 7 project file(s) that are missing from the tree (\u0060Bio.Assembly.vbproj\u0060, \u0060RDotNET.Extensions.VisualBasic.vbproj\u0060, \u0060RDotNET.vbproj\u0060, \u006047_dotnet_ms-vb_data.framework.vbproj\u0060, \u0060math-core.vbproj\u0060, \u006047-dotnet_Microsoft.VisualBasic.vbproj\u0060, \u002B1 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/KEGG_MetaDNA.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b8144718e5029a548468f4802bacf82b12febddf2e8d90c4ce532917880433e"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 4 projects that do not exist: \u0060src/assembly/Raman-Spectroscopy.sln\u0060 declares 4 project file(s) that are missing from the tree (\u0060linear-netcore5.vbproj\u0060, \u0060Math.NET5.vbproj\u0060, \u0060signalprocessing-netcore5.vbproj\u0060, \u0060Core.vbproj\u0060). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Raman-Spectroscopy.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ae7b1ec27839866ee1970d5fe920527e0c17f33e3220d3aaa572491b919d745"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 4 projects that do not exist: \u0060src/mzmath/mzMath.sln\u0060 declares 4 project file(s) that are missing from the tree (\u0060dataframework-netcore5.vbproj\u0060, \u0060Math.NET5.vbproj\u0060, \u0060signalprocessing-netcore5.vbproj\u0060, \u0060Core.vbproj\u0060). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mzMath.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e06e8ae35ec567fb972ce3767bdde503749b8cc94cd2a59c1d7bc05c48d555da"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 2 projects that do not exist: \u0060src/assembly/ProteoWizard.d.sln\u0060 declares 2 project file(s) that are missing from the tree (\u0060Flute.NET5.vbproj\u0060, \u0060Core.vbproj\u0060). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.d.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"477695b8b648f906cddebd55001b2189499d7ddc0c9bc8af6c4b1dfebd903859"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 12 projects that do not exist: \u0060src/metadna/MetaDNA_visual.sln\u0060 declares 12 project file(s) that are missing from the tree (\u0060Bio.Assembly.vbproj\u0060, \u006047_dotnet_ms-vb_data.framework.vbproj\u0060, \u0060GraphTheory.vbproj\u0060, \u0060math-core.vbproj\u0060, \u006047-dotnet_Microsoft.VisualBasic.vbproj\u0060, \u0060Microsoft.VisualBasic.Imaging.vbproj\u0060, \u002B6 more). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/MetaDNA_visual.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"210ebcd7e46118c3f9195a93e70a829847571d6efee9e7489d01f188cf37f1c6"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 3 projects that do not exist: \u0060src/metadb/MetabolomeXchange.sln\u0060 declares 3 project file(s) that are missing from the tree (\u006047_dotnet_ms-vb_data.framework.vbproj\u0060, \u006047-dotnet_Microsoft.VisualBasic.vbproj\u0060, \u0060application.json.vbproj\u0060). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MetabolomeXchange.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"db5bf6953c6886befa5fc1ebadfe7f339b9fe2a01e2fd60f524516f31e25602f"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 2 projects that do not exist: \u0060src/metadb/KNApSAcK.sln\u0060 declares 2 project file(s) that are missing from the tree (\u006047-dotnet_Microsoft.VisualBasic.vbproj\u0060, \u0060src/metadb/KNApSAcK/KNApSAcK.vbproj\u0060). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/KNApSAcK.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a5e60861f0a9aacc0ea52ae3e964b681b47973703891713235c818d76fa67e2"}},{"ruleId":"D18","level":"warning","message":{"text":"Solution references 3 projects that do not exist: \u0060src/metadb/KEGG.sln\u0060 declares 3 project file(s) that are missing from the tree (\u0060Bio.Annotation.vbproj\u0060, \u0060Bio.Assembly.vbproj\u0060, \u006047-dotnet_Microsoft.VisualBasic.vbproj\u0060). A solution-level restore or build fails on a dangling reference, so anyone building the solution rather than an individual project is blocked. Delete the stale entry from the solution, or restore the missing project file."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/KEGG.sln"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7cd83b7067ff3c97303b60e229a98929a40e5df15dcf5fedeb49dcff30645627"}},{"ruleId":"D18","level":"note","message":{"text":"Thin analysable surface across projects: KEGG: 9 project(s) carry only a thin slice of real code; \u0060KEGG\u0060 has 21 significant line(s). The mean analysable-surface weight is 84 %; this project lowers Solution Shape by about 0.2 point(s). Consolidate it or grow it into a substantial, well-scoped assembly."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/KEGG/KEGG.vbproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d5e9e885385962ce0f8652ccca2e46ad5a46eb680f31661ffb16a19e16d88394"}},{"ruleId":"D18","level":"note","message":{"text":"Thin analysable surface across projects: test(net10.0-windows): 9 project(s) carry only a thin slice of real code; \u0060test(net10.0-windows)\u0060 has 27 significant line(s). The mean analysable-surface weight is 84 %; this project lowers Solution Shape by about 0.32 point(s). Consolidate it or grow it into a substantial, well-scoped assembly."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/test/test.vbproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4634e3a361378e7f5236c8da337c58d378d66fa0e7c2e4758b672bd2839713a6"}},{"ruleId":"D18","level":"note","message":{"text":"Thin analysable surface across projects: test: 9 project(s) carry only a thin slice of real code; \u0060test\u0060 has 28 significant line(s). The mean analysable-surface weight is 84 %; this project lowers Solution Shape by about 0.15 point(s). Consolidate it or grow it into a substantial, well-scoped assembly."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/test/test.vbproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9438af8413f8b5c769f59b2ac03f9809b6d951ef1d228509e30da260a56397b"}},{"ruleId":"D18","level":"note","message":{"text":"Thin analysable surface across projects: test: 9 project(s) carry only a thin slice of real code; \u0060test\u0060 has 30 significant line(s). The mean analysable-surface weight is 84 %; this project lowers Solution Shape by about 0.14 point(s). Consolidate it or grow it into a substantial, well-scoped assembly."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPackExtensions/test/test.vbproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d4c4428d5ae25f2e44187b52711d64775667bff1d8a0326d39fc9706d85332e"}},{"ruleId":"D18","level":"note","message":{"text":"Thin analysable surface across projects: test: 9 project(s) carry only a thin slice of real code; \u0060test\u0060 has 32 significant line(s). The mean analysable-surface weight is 84 %; this project lowers Solution Shape by about 0.12 point(s). Consolidate it or grow it into a substantial, well-scoped assembly."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/test/test.vbproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"326a0e4c02b4eb98f829e9825a235e70cabaeef8b26836b074293670e5107b75"}},{"ruleId":"D18","level":"note","message":{"text":"Thin analysable surface across projects: test: 9 project(s) carry only a thin slice of real code; \u0060test\u0060 has 33 significant line(s). The mean analysable-surface weight is 84 %; this project lowers Solution Shape by about 0.12 point(s). Consolidate it or grow it into a substantial, well-scoped assembly."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/test/test.vbproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"df48c67cd68f3ef3a24ae3e96cda075439e768bb5c6aadc9f3e0fb8c2c2f0070"}},{"ruleId":"D18","level":"note","message":{"text":"Thin analysable surface across projects: test: 9 project(s) carry only a thin slice of real code; \u0060test\u0060 has 38 significant line(s). The mean analysable-surface weight is 84 %; this project lowers Solution Shape by about 0.08 point(s). Consolidate it or grow it into a substantial, well-scoped assembly."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/test/test.vbproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2cca69a9d75b14580a0aae421385dc343b9620e78398024a058982b12778003d"}},{"ruleId":"D18","level":"note","message":{"text":"Thin analysable surface across projects: test: 9 project(s) carry only a thin slice of real code; \u0060test\u0060 has 41 significant line(s). The mean analysable-surface weight is 84 %; this project lowers Solution Shape by about 0.06 point(s). Consolidate it or grow it into a substantial, well-scoped assembly."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/MetaDNA_visual/test/test.vbproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8310856dbc1414ad700718b1e970881f26d17fbea3382329abe74347b2c5e30a"}},{"ruleId":"D18","level":"note","message":{"text":"Thin analysable surface across projects: test: 9 project(s) carry only a thin slice of real code; \u0060test\u0060 has 43 significant line(s). The mean analysable-surface weight is 84 %; this project lowers Solution Shape by about 0.05 point(s). Consolidate it or grow it into a substantial, well-scoped assembly."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/LoadR.NET5/test/test.vbproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7eff165797f51e1eb6a74be6fc3c352c6b3260855fd9e9f27ae1e0989ae12dba"}},{"ruleId":"D20","level":"note","message":{"text":"No ADRs found: No ADRs found. No recognised ADR directory (\u0060docs/adr/\u0060, \u0060docs/decisions/\u0060, \u0060adr/\u0060, \u0060docs/rfcs/\u0060, an \u0060ADR0001/\u0060 folder, or their siblings) exists anywhere in this tree. What was searched, so you can tell an empty log from a search that missed one: every directory under the tree (build output, dependencies and VCS metadata excepted), for a document that is either any non-index page inside a recognised ADR directory, whatever its name and however deeply nested (\u0060docs/adr/use-postgres.md\u0060, \u0060docs/adr/2024/0001-x.md\u0060); or a file anywhere whose name is ADR-shaped (\u00600001-use-postgres.md\u0060, \u0060adr-012-caching.md\u0060); or, when neither turned anything up, a document carrying the decision-record signature (an \u0022Architecture Decision Record\u0022 heading, or Status / Context / Decision / Consequences as section headings). A decision log that clears none of these \u2014 unnumbered files outside any recognised directory, without those headings \u2014 is not seen by this check and this row is then wrong. If that is your case, say so rather than renaming anything; otherwise, consider recording architectural decisions in \u0060docs/adr/\u0060."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"d2bea044ff79d7d275f5a91a6e2f548586178eaf480274c33960ad020c854631"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022General Information about an assembly is controlled through the following set of attributes. Change these attribute values to modify the information associated  \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.Interop/My Project/AssemblyInfo.vb"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"438786c470dde424eebe9b1a3ca16ec22480e775964f0a5eb4aba432a5ce5173"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Review the values of the assembly attributes\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.Interop/My Project/AssemblyInfo.vb"},"region":{"startLine":64}}}],"partialFingerprints":{"codehealthFindingId/v1":"d50fc96c8831f27fe4850dd65e22cc252b5cd97d38ca1d124ae5ef072cec9058"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022The following GUID is for the ID of the typelib if this project is exposed to COM\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.Interop/My Project/AssemblyInfo.vb"},"region":{"startLine":75}}}],"partialFingerprints":{"codehealthFindingId/v1":"10e112982a7fe0968dc6f72207a9aeb12f940c482d9f88657583b5da2cffe503"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Version information for an assembly consists of the following four values: Major Version Minor Version Build Number Revision You can specify all the values or y \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.Interop/My Project/AssemblyInfo.vb"},"region":{"startLine":78}}}],"partialFingerprints":{"codehealthFindingId/v1":"66eb1aa125cad264c8f06f5d9bdff1ffa525a270cd95d61e0c8ad60a8c11cdf1"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022General Information about an assembly is controlled through the following set of attributes. Change these attribute values to modify the information associated  \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.d/test/My Project/AssemblyInfo.vb"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"e0511d181a0cdad30ab291d89d6f22fc367c9933f6ada0e78614560348d3a452"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Review the values of the assembly attributes\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.d/test/My Project/AssemblyInfo.vb"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef1244dfcdf9d6de0f1acb2f0b04d2e5db1e5942806de4ef841832f2f23f6997"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022The following GUID is for the ID of the typelib if this project is exposed to COM\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.d/test/My Project/AssemblyInfo.vb"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"ecec405b501f1d1c95f379eadcc6dec67ffb641deb7f03f08a2c25e2bf0a87fb"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Version information for an assembly consists of the following four values: Major Version Minor Version Build Number Revision You can specify all the values or y \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.d/test/My Project/AssemblyInfo.vb"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c2e60cfb408e1c4e936f00bca8f32626b492e53ade91fed3249cecddbea5281"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Enum IntensityCutoffTypeConstants /********************************************************************************/\u0022 repeats the code it sits on: 4 of its 5 words (intensity, cutoff, type, constants) are already in \u0060\u003CCLSCompliant(True)\u003E\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/Enums/IntensityCutoffTypeConstants.vb"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"d017cf134689fa80fc7ea2667ceaf465ece15f7f5c1b6eec8048e6f808192f37"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Enum MRMScanTypeConstants /********************************************************************************/\u0022 repeats the code it sits on: 4 of its 5 words (mrm, scan, type, constants) are already in \u0060\u003CCLSCompliant(True)\u003E\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/Enums/MRMScanTypeConstants.vb"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"710e5dddcf6c07b4cee5d5a85352257c7d0b0f645c8f5c6f02790ab500a59b74"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Unknown format for .FilterText; return an error\u0022 repeats the code it sits on: 5 of its 6 words (unknown, format, filter, text, error) are already in \u0060RaiseErrorMessage(\u0022Unknown format for Scan Filter: \u0022 \u0026 scanInfo.FilterText)\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":1345}}}],"partialFingerprints":{"codehealthFindingId/v1":"3eeec8f8623fd51f1e5ea5c8a3b508641dc8c2670d851f56f79d59d47e6dfc00"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Unknown format for .FilterText; return an error\u0022 repeats the code it sits on: 5 of its 6 words (unknown, format, filter, text, error) are already in \u0060RaiseErrorMessage(\u0022Unknown format for Scan Filter: \u0022 \u0026 scanInfo.FilterText)\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":1370}}}],"partialFingerprints":{"codehealthFindingId/v1":"3512c97a1f9c818e9b077d2ca0a6835ae7bfd5c84ba6c81c144a38af205992c3"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Get the status log nearest to a retention time.\u0022 repeats the code it sits on: 5 of its 6 words (get, status, log, retention, time) are already in \u0060Dim statusLogEntry = mXRawFile.GetStatusLogForRetentionTime(retentionTime)\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":1405}}}],"partialFingerprints":{"codehealthFindingId/v1":"a96857e7b7c1b0e3ca685d185ecb066f79b1f8afe6ed34b1442cf29d762a1cdd"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022General Information about an assembly is controlled through the following set of attributes. Change these attribute values to modify the information associated  \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPackExtensions/test/My Project/AssemblyInfo.vb"},"region":{"startLine":58}}}],"partialFingerprints":{"codehealthFindingId/v1":"32cb8252c0343e019bd173889b051bd10983ba6975082abd6ff0599f4629e084"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Review the values of the assembly attributes\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPackExtensions/test/My Project/AssemblyInfo.vb"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b76346c313d7fa161e06310ca2a258b05b9dafd749700db0ba6c60c9a24548a"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022The following GUID is for the ID of the typelib if this project is exposed to COM\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPackExtensions/test/My Project/AssemblyInfo.vb"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"658d89d1f3c8355817022d9238447bf71078f34e2fc1efa398c99c801ab3970a"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Version information for an assembly consists of the following four values: Major Version Minor Version Build Number Revision You can specify all the values or y \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPackExtensions/test/My Project/AssemblyInfo.vb"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"26b9bb77b0a7ae22947699bab8da29b9fb3dbe34586cf1428034f792caa6a4a3"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u00228 9 10 | \\ / 7 2 3--4 \\/ \\ / | 1 5 6 / \\ / \\ H 12 11\u0022 repeats the code it sits on: 3 of its 3 words (10, 12, 11) are already in \u0060Dim bounds As InchiInput = MainLayer.ParseBounds(\u00227-1-2(8)5-3(9)4(10)6(11)12-5\u0022)\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/test/inchiTest.vb"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"e4d326ecbf713097ad5463def5006f1763fa70869809568fabdc79358c712570"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022General Information about an assembly is controlled through the following set of attributes. Change these attribute values to modify the information associated  \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/KEGG/My Project/AssemblyInfo.vb"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"9439deb18f35e6fcbf533aa575412906cb148525792469e1dfd566cd886b9478"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Review the values of the assembly attributes\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/KEGG/My Project/AssemblyInfo.vb"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"a79cbde4c2a80d509f0159c0c4728ee4d7b7f0b118f4d62aa076208d7ec92e75"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022The following GUID is for the ID of the typelib if this project is exposed to COM\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/KEGG/My Project/AssemblyInfo.vb"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"922562dcc7db697caac7544a0605fd1e4a37e7183a0695e5db52197cd010ee2a"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Version information for an assembly consists of the following four values: Major Version Minor Version Build Number Revision You can specify all the values or y \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/KEGG/My Project/AssemblyInfo.vb"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"10a33b36cc8f96582569c885f94307ccbc6d31c801cef5051b5691b2020a6a59"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: 28 comments in this file only repeat the code they sit on (lines 2611, 4172, 4181, 4187, 4199, 4207, 4213, 4216, 4220, 4239, 4244, 4250, 4290, 4320, 4331, 4333, 4338, 4343, 4352, 4881, 4893, 4905, 4918, 4942, 4947, 4957, 4963, 5029), for example \u0022set basic properties\u0022. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb"},"region":{"startLine":2611}}}],"partialFingerprints":{"codehealthFindingId/v1":"1813c602d7d5f3bb73638fc36bd5f1782174e5c642454e1aa775d432f5257941"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022spectrum.AddRange(GetAcylSpectrum(lipid, acyl, adduct));\u0022 repeats the code it sits on: 7 of its 7 words (spectrum, add, range, get, acyl, lipid, adduct) are already in \u0060spectrum.AddRange(spectrumGenerator.GetAcylDoubleBondSpectrum(lipid, acyl, adduct, nlMass, 30.0R, oadId))\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CeramideOadSpectrumGenerator.vb"},"region":{"startLine":127}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd8ef3f84e38ed8a162f118eea80410b76565e02a5f8710b2778aa49eb2a7917"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022generator.Add(LbmClass.MG, new MGSpectrumGenerator());\u0022 repeats the code it sits on: 6 of its 7 words (generator, add, lbm, class, new, spectrum) are already in \u0060generator.Add(LbmClass.DG, New DGSpectrumGenerator())\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/FacadeLipidSpectrumGenerator.vb"},"region":{"startLine":118}}}],"partialFingerprints":{"codehealthFindingId/v1":"4480f2fe25537ed299ba1ce100c93a04d917088fabe1fc89ad21095e3e2406c0"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022spectrum.AddRange(GetAcylSpectrum(lipid, acyl, adduct));\u0022 repeats the code it sits on: 7 of its 7 words (spectrum, add, range, get, acyl, lipid, adduct) are already in \u0060spectrum.AddRange(spectrumGenerator.GetAcylDoubleBondSpectrum(lipid, acyl, adduct, nlmass, 10.0R))\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/GM3SpectrumGenerator.vb"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"927dfed5e51e7eb7a9a5b76bfb00ce6e65f7df50e26597c11127f3af59ca43c4"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022spectrum.AddRange(GetSphingoSpectrum(lipid, sphingo, adduct));\u0022 repeats the code it sits on: 7 of its 7 words (spectrum, add, range, get, sphingo, lipid, adduct) are already in \u0060spectrum.AddRange(spectrumGenerator.GetSphingoDoubleBondSpectrum(lipid, sphingo, adduct, nlMass, 30.0R, oadId))\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/SMOadSpectrumGenerator.vb"},"region":{"startLine":119}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a5ec3d9c4bc0aeb012a0b26c78bd1657a74cad0df162ede8f728ae9113106db"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022spectrum.AddRange(GetAcylSpectrum(lipid, acyl, adduct));\u0022 repeats the code it sits on: 7 of its 7 words (spectrum, add, range, get, acyl, lipid, adduct) are already in \u0060spectrum.AddRange(spectrumGenerator.GetAcylDoubleBondSpectrum(lipid, acyl, adduct, nlMass, 30.0R, oadId))\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/SMOadSpectrumGenerator.vb"},"region":{"startLine":124}}}],"partialFingerprints":{"codehealthFindingId/v1":"339a3a50e01c2bedb9f9fded2249ca44b3b249a7a64a44f0b233bf7fe2c1ca8e"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022General Information about an assembly is controlled through the following set of attributes. Change these attribute values to modify the information associated  \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/test/My Project/AssemblyInfo.vb"},"region":{"startLine":58}}}],"partialFingerprints":{"codehealthFindingId/v1":"2489969840bc6ad9b9ec04e95084559c02c385ac2850ce08ec7bf24448d65723"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Review the values of the assembly attributes\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/test/My Project/AssemblyInfo.vb"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"c26fcbb21d2e30ca7275e77acfaaa209663af4d9784050beb57576ee1c939064"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022The following GUID is for the ID of the typelib if this project is exposed to COM\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/test/My Project/AssemblyInfo.vb"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"75e92150d7b1d449caf863a69d7d932315cb4a63fb745cb0602ddb7f024691fb"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Version information for an assembly consists of the following four values: Major Version Minor Version Build Number Revision You can specify all the values or y \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/test/My Project/AssemblyInfo.vb"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"25452045d14ba99cf1afd045e0a849c430052f78207db0dec9d3397c0515cf6c"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u00228 9 10 | \\ / 7 2 3--4 \\/ \\ / | 1 5 6 / \\ / \\ H 12 11\u0022 repeats the code it sits on: 3 of its 3 words (10, 12, 11) are already in \u0060Dim ascorbicAcid As String = \u0022InChI=1S/C6H8O6/c7-1-2(8)5-3(9)4(10)6(11)12-5/h2,5,7-10H,1H2/t2-,5\u002B/m0/s1\u0022\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/test/inchiTest.vb"},"region":{"startLine":64}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a3907760180c7a4e88e169c07f9a3c9cb8100674b180e435b6dcb36000b3749"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022General Information about an assembly is controlled through the following set of attributes. Change these attribute values to modify the information associated  \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/test/My Project/AssemblyInfo.vb"},"region":{"startLine":58}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ba214f7846d434b725513ae340b9ccffd58d6b7d7860d9e20a3417eddd35c69"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Review the values of the assembly attributes\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/test/My Project/AssemblyInfo.vb"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"976132989f848bb65285f2f0fe119ed11e256d37feb82a56d3a98b33b024655c"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022The following GUID is for the ID of the typelib if this project is exposed to COM\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/test/My Project/AssemblyInfo.vb"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"6297070ceaaf2363ea40ae8b644aa06c6de7a68080c8435f0bc4fbc361a39edf"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Version information for an assembly consists of the following four values: Major Version Minor Version Build Number Revision You can specify all the values or y \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/test/My Project/AssemblyInfo.vb"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"b458a349894b93fbc5bf4851cc69ed0c8709e2732de5504ba0fc69a6db777c02"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022General Information about an assembly is controlled through the following set of attributes. Change these attribute values to modify the information associated  \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/pubchem/My Project/AssemblyInfo.vb"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"e5595a42d603192ed1af377d8006302db113296bb6dc4c21f7db20b74f96fa84"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Review the values of the assembly attributes\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/pubchem/My Project/AssemblyInfo.vb"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f48f6e860e41328a21382efdde71bb5661ad546e27657b6b1b01ce7753c41b9"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022The following GUID is for the ID of the typelib if this project is exposed to COM\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/pubchem/My Project/AssemblyInfo.vb"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e8ab287cf2a01e198cfb908ff968b7f8907cf21875a3c43a74f1ad0e3ef74f4"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Version information for an assembly consists of the following four values: Major Version Minor Version Build Number Revision You can specify all the values or y \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/pubchem/My Project/AssemblyInfo.vb"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"f5cec4a18ddd1dd7dcce98e6991097a80f305516caece55bfd9aaeb0d54be8b4"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022General Information about an assembly is controlled through the following set of attributes. Change these attribute values to modify the information associated  \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/KEGG_MetaDNA/My Project/AssemblyInfo.vb"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e01800e48eb7236c2fb0b6d1b02e6cae6dac8ff953dbeadaa276df3db5b1d6e"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Review the values of the assembly attributes\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/KEGG_MetaDNA/My Project/AssemblyInfo.vb"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"542ac3b4a59fc3925c7799464c3f2f3fbab9e2558984be5ba217e59d5bee06d9"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022The following GUID is for the ID of the typelib if this project is exposed to COM\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/KEGG_MetaDNA/My Project/AssemblyInfo.vb"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"f042befbf1c7e51f58c9e14ad51bf3a2da1a7bbffeeccff3a8d25668eff40450"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Version information for an assembly consists of the following four values: Major Version Minor Version Build Number Revision You can specify all the values or y \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/KEGG_MetaDNA/My Project/AssemblyInfo.vb"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5f564d07743a73aadac95a260016324a649e5639b1c4c2f219939074c04b774"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022private List\u003CFormulaResult\u003E getFormulaSearchResults(List\u003CFormulaResult\u003E formulaCandidate, Formula formulaBean, AnalysisParamOfMsfinder param, double mass, doubl \u2026\u0022 repeats the code it sits on: 30 of its 35 words (list, formula, result, get, search, results, bean, analysis, param, msfinder, mass, ms, tol, intensity, adduct, ion, isotope, check, max, num, exist, query, db, peak, refined, peaklist, neutral, loss, losses, product) are already in \u0060Private Function getFormulaSearchResults(formulaBean As Formula, param As AnalysisParamOfMsfinder, mass As Double, ms1To \u2026\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaGenerator.vb"},"region":{"startLine":736}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a5ec5da8546eb7dc8ebcd7f9264e6d635ac57093a99f56d6d53c8106bd8e78e"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022formulaCandidate = tryGetFormulaResultCandidate(formulaCandidate, formula, param, mass, ms1Tol, m1Intensity, m2Intensity, isotopeCheck, adduct, refinedPeaklist, \u2026\u0022 repeats the code it sits on: 20 of its 23 words (formula, get, result, param, mass, ms, tol, intensity, isotope, check, adduct, refined, peaklist, neutral, losses, exist, db, product, ion, loss) are already in \u0060Private Function getFormulaSearchResults(formulaBean As Formula, param As AnalysisParamOfMsfinder, mass As Double, ms1To \u2026\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaGenerator.vb"},"region":{"startLine":802}}}],"partialFingerprints":{"codehealthFindingId/v1":"d430436b46b1c660e0e4d35384f4b1c8c6f9b35b5c9bba1b65f47307f325a6e1"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022formulaCandidate = tryGetFormulaResultCandidate(formulaCandidate, formula, param, mass, ms1Tol, m1Intensity, m2Intensity, isotopeCheck, adduct, refinedPeaklist, \u2026\u0022 repeats the code it sits on: 20 of its 24 words (formula, get, result, param, mass, ms, tol, intensity, isotope, check, adduct, refined, peaklist, neutral, losses, exist, db, product, ion, loss) are already in \u0060Private Function getFormulaSearchResults(formulaBean As Formula, param As AnalysisParamOfMsfinder, mass As Double, ms1To \u2026\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaGenerator.vb"},"region":{"startLine":811}}}],"partialFingerprints":{"codehealthFindingId/v1":"705618cda96d5ddaf0e0c87cfa22cd1d2f00119fd884e3a2730e1f60f7ad9e9d"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022return formulaCandidate;\u0022 repeats the code it sits on: 3 of its 3 words (return, formula, candidate) are already in \u0060Private Function getFormulaResultCandidates(formulaCandidate As List(Of FormulaResult), formulaResult As FormulaResult,  \u2026\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaGenerator.vb"},"region":{"startLine":948}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa3dc42a2b91729399bd6660091ae08c1d4041e4627eecd1c448dca3bbb14c9a"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022do linear regression fitting\u0022 repeats the code it sits on: 3 of its 3 words (linear, regression, fitting) are already in \u0060Dim fit As IFitted = StandardCurve.CreateLinearRegression(line, maxDeletions,\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/Linear/InternalStandardMethod.vb"},"region":{"startLine":146}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ff8828580fc3d0b6bd0758d4582a94dfcda4b5d1be591704cdbac430c92c59e"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022General Information about an assembly is controlled through the following set of attributes. Change these attribute values to modify the information associated  \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/test/My Project/AssemblyInfo.vb"},"region":{"startLine":58}}}],"partialFingerprints":{"codehealthFindingId/v1":"79bb8bc4cd387fe2887135277bd82ddaa6415f3592795939756fcc4e569cbc40"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Review the values of the assembly attributes\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/test/My Project/AssemblyInfo.vb"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c79615cb4c0cc30bee662b04fd1f4177c75dd38688d2139f36f142af88e3cf9"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022The following GUID is for the ID of the typelib if this project is exposed to COM\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/test/My Project/AssemblyInfo.vb"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"d69e5cf7e9568655e2a7b80a57ef303b0262bcadd0dfc9637ece83fe7cd7af93"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Version information for an assembly consists of the following four values: Major Version Minor Version Build Number Revision You can specify all the values or y \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/test/My Project/AssemblyInfo.vb"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"1379df5ce957f9ba6e4b6e81fe6520ca8704f4a3b37dd29b84ad2f5ea0642e23"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022General Information about an assembly is controlled through the following set of attributes. Change these attribute values to modify the information associated  \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/test/My Project/AssemblyInfo.vb"},"region":{"startLine":58}}}],"partialFingerprints":{"codehealthFindingId/v1":"06bae994e2becb45823d46aee80475bc92ff6011edb0fa1ab6ae0ee660c5d9b2"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Review the values of the assembly attributes\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/test/My Project/AssemblyInfo.vb"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"63f7787c16e27a3dcae62d6be01774855e98da9ccc4a4d3be7cc74b7152c8b4f"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022The following GUID is for the ID of the typelib if this project is exposed to COM\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/test/My Project/AssemblyInfo.vb"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"80a106690e8dae47266ed51e1725437dd4b34cd02bcd65d23391aa5a2cf2c625"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Version information for an assembly consists of the following four values: Major Version Minor Version Build Number Revision You can specify all the values or y \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/test/My Project/AssemblyInfo.vb"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"ade0bf5983c19766445ba794437392a274fc5af25d865734cfaba09ad115286a"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022width drawing on the canvas\u0022 repeats the code it sits on: 3 of its 3 words (width, drawing, canvas) are already in \u0060Dim rulerWidth As Double = 0\u0060. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Ruler.vb"},"region":{"startLine":127}}}],"partialFingerprints":{"codehealthFindingId/v1":"20f988f4d274298acfbc394ea7da6bc0d244e494db061f144eb67cdd313a467f"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022General Information about an assembly is controlled through the following set of attributes. Change these attribute values to modify the information associated  \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/mzplot/My Project/AssemblyInfo.vb"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"67c518753b3b7be4b73d098b65cc4dfcbfa7f643b9189d3c48025c7ec3c43fb3"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Review the values of the assembly attributes\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/mzplot/My Project/AssemblyInfo.vb"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"c1c1e0f58ea7fd313d1f499ac8fbd63a58eaaf754ea718d5cb9f19e2648abcc5"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022The following GUID is for the ID of the typelib if this project is exposed to COM\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/mzplot/My Project/AssemblyInfo.vb"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b08cda006454a4a47afc99bdb9cd7fed1602c53c24333a85955c595c930fda5"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022Version information for an assembly consists of the following four values: Major Version Minor Version Build Number Revision You can specify all the values or y \u2026\u0022 is Visual Studio AssemblyInfo template text, left in place. Delete it, or replace it with what the code cannot say (why it is done here, a constraint, or a consequence)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/mzplot/My Project/AssemblyInfo.vb"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"5d2c06be55ab2fa5572899287ad3ed527e7f6a9bd20c2d2969579207cae69f12"}},{"ruleId":"D26","level":"note","message":{"text":"Projects may be oversized for their cohesion: 5 of 75 project(s) overshoot their size bounds, lowering Project Cohesion to 8.7/10. The most over is \u0060Lipidomics\u0060 (52741 LoC, 257 public types across 1 namespaces). Review these for cohesion \u2014 split a project that spans unrelated responsibilities."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"d5a94650dc74886a0f1f08eb9fb6775f1fc395279ef7e901c970c9d26f767a72"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"9e11ae70e1126bf4dc6ef1a0c49a0f6039011523809f68b52a67643c4aeb7b59"},"properties":{"commitSha":"bd66250ca21da43178c67c417defcc91851bd2e7"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-540","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"A01:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}}]},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"630b87f77f9efa4fdf01ec0fa7eb9b4a6aeff3928b9315f4fbd64e1700f6c312"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"9be8efd6795aacf5d2b0821773c1c66189c32f6d34509af6df57c6e33e8066dc"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"c20b75c3b3ba490ecffc5ff2197b4c738b5cb4a8c1945fd1dc6f9b8ffff1bb14"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"91317a0b4d852b1b22b0483c1e48511fffb5e71e5aa098ef3bbf4d8f44958151"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"14c11d81cfdcbead0b6f6301a49a876f7ecb998354cfa6706622b5ff2f96604e"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"ab21f6839cbfb9742d2077e1bf3eead5a1d57b60e139284d1ec5c4e977e9adba"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"34f383f64e290e5c274cd48ab55f30d1e538a56137fae411d29beeefd3c2d3e5"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"8a720e1be29f62c9aded71ea4149ad8655d50555bdaf981380e84fc6f3bb220f"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"220914df6a8ff551145b76e534d918b027387cf6952eb791254f398244037b67"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"27b60a52585cbe5caac5459f8d2e66950c7022918e7698902e1b084dda4e0c01"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"4df5e52cab21755cf96c611291a0a44f5aa505836c9878a657ce35a02fff201c"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"0a3ef14c53dc718e6d3efef75a9f5f724af11fd7365e01308c4e931949f9f4e0"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"dd8c9d547002918210520702a3697dcd4e80df627ae283157f384ad8002b0f6b"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d8073dd1f6fb2e4f3b9fe2b7a45efa5dc0ce9a8dcadc093361b103d699fee012"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"06cb205b879036d5662ea9b0a97930bc60bafc1fd87c2d17e85cc23a78322d4b"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d4272507b0a2391eff56b52b47c1ad21682394a39f46382d0ba2eca535ffa886"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"a8ccb20c829798762331fe28e1adf90dfce771c15b06e5f0e57c6f92bb08c054"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"7b75cc46c55a972353f5cd6e52e67d3ddf26cf9dd9363384be92665a5c934465"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"cba2f29f6446c8eea346cbe9d4e72eeaec5a72ed6d1631c3cb9e06bb611f2ea5"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"7bdf93fbd8e9b65f320962e2ca1eb7f1a6d41662f6c3e8da6cccd0c52d6a51ac"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"164f7ed37b5e85503948103bb468a1d31537c548f2603fdfbcaef34a7e78a58e"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"b3ad621121260d932026cdbc685374f01afa9b85bd7591c440e07487d10529cb"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"e3be1262c0ada3b0297526a12b8c65cc08a4268772a460ab6c00d112787914fc"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d6355d5b253e4683bccb1f5fc97c242b29155716bdc0c2825e2423dd11d5c251"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"32bfd4609ddbd23f68b24b25cd1b14f723e82dea44341b37d5f6516393cb5ead"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"5e321da0150b8e1a3a7fca8e307fe56ed2c1dd08ed926d730b1dc189ca86a6b6"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"9b795f5341dd8caf3789b3e650e63ca7ec9b0f8bbafdda54cc4f26a70b37068d"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"8659e60e3f4e57230ff07c53d74cba761ab222f685de0f42b7cf98874b0e8dfb"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"b51eafb5588773998b524d7aac0d699b434ac003a6d13f7040199632e06a6e59"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"6fec4f1f34730d40458b118f5347fe035e2fd53e8b409fcb42a6062d108a588c"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"dd4269714e399f395b01d8b701c3b31533df9570dcc1a21aa236ca8ac4cb0191"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"0b86ac84bbc5a46ddce625ef63dad7652a43276a25e9a6abed9f9899201e7159"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"f91db633c44c86c53ddc6b575deeb203125c0a5cb8b349eda6ae41662016f9d3"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"ff4bbc67227565268904a5c586c198332c1ec4e7d606f21d051580274d5eec1e"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"0ffaca0f12f88780d3875f0e97ae572f154070d0a3f26d9d9943b211f82dcdf4"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"bd508fdc5e1fc4be28f46c7a26be3382e6289db704f8b5be52ec30451592bf60"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"5144fba0be5477b219fc8960523be05b5ac175510039526afeb0d24891b327ef"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"c54d1445665bd9d109efb3e2968cb2c8c8e59caeff149fad0a4ffe5da226ac94"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"6d256e2e21beeed5d9f7d81ba480172e29e8cfc3c887fb4e74194969921ccef5"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"9bb8eae88ba2a58e7f8e75ccceb8779a7ae55b3fecebca53937b814640d2469a"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"af3215990b5416afa74c90d11eea613b554d0fc31940de78d735c6c418890b95"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d704a610a79688b8818f12bbb81c14270d559f67807545c4cb1eb645cb008b62"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"da5e96ff255b0455652e3dad40cbd54076987ca5031946e7399e1d2d0caeb905"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"ca9cdd60b0693ec78b82aa82914e7d7523faf7a5cb5caf45df8ca374f245a04e"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"76cdece4c9314a05946378007572f3a597955dc103ffb1cca6ba412017fbf5a4"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"efd8018a52f8db19d786473116e7c115dab6307fbe980be9c6866c738dd590bc"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"70dbd68f3719f4a608563d53c191446dd3cc4061456606b9ab752925dbf9a2f8"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3f4d386358d62e3070b1dfe453bc90b8b4ef5c5e4a2863b825e37ffb9234298a"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"c97893268ac390524c9702cbe512d8058b7c878ddd0503e37f15f797368536ad"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"937c938a0498caa94a093fac939c973a71af4cb7761e4685a7a05a18f39d0ee3"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"9f59a50bdf67d7957c52a8368f773f8374726f1c72243316e47a06206a071a59"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"26c38a33902af720bc3904cf74f5dff348368e0f2c13346f8001c4ced3316746"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"a600497981c799e80b851af506d7d1b6cd279ffe858e36648170404e4e4dc836"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"8bd6402c5e2bb9841166ad9b684d1f5c035b490e12ea1d69a28491da032d166e"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3608f8aca0e723e29fc4b0b5465e8751c6b1e4bab2119544c0f77f33e9a88655"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3fdf40f52988d157eaf7285cb79c67884e3da391f23d53ed39d61640d57e79ed"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3127fb2803c1e96a5e53a789be59376e8f95af0784582a3071499864d7a4a8b5"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"bacfc1f90fef2c28adee0dbdd4f54b915bcf907e103916f4430a1ab618532c94"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"a0906f580154cb36e68f8520c3a2e87337b50feadff09f36c855fee02020ac96"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"4c67976ff2a11b75806982bfe2eebbe7db88fdc4e37406e656c0157ebb877904"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"643afc3f02dba7e270d0916ba92806188b389b330faf7eb5c99b9f1cdc4b3e30"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"f3e054f0893b1508782591f9b00311cafb5b70d0a9fa977d36ad0ab9d9e5586d"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"41a36de5a4d5c4e2a48f0e3b560d9de8682c5a175d058fb8530cffffbda0e504"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"df2625b2e758d2d9281b9ba067d403ef99aa4c805f71f4b9c8ce4fe9081a4739"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"ffcd6979f2518e77b468652965704a16dc29f94f0aac765e2b7fe44719997bee"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"efec409ecd800a224b3b5d6675268e708a92949effa9f5db4781ca194d3af250"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"9ad7ba365f4e394992572e2f6edc3c050d308db674c859ca3b5c727219ea6ef2"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"c5507d7f7b3d20ccf70ec9a338f36a349a446c4b078e38f9a84689f0a386bacb"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"9e183579e54a3ccf3c609b11294bc4b30a3c87aa57b6d7de7187058b695768e9"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"8624d922523db9bc3cc6c6926e7591f40d678c61996da0d35ec3e3f231e3caf3"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"679bc2aedadef0d40c469f6b98695d8742eec35611104713336be5d912c49f01"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"c324aab6071a96ad67523c0970f2f64206431b14f56e93f97e1c6356d8ce7ab8"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"a37aac9105361e0bb6fe86bf691f266cfb33d91d472affcd426286672a623433"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"61745ecf1ad165435c40e9eddeb2fc43b60964c5570ea000328a3e66ef48b04c"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3d79eb02905e93fe10536e7e13096cbfc4b98d6c4951994089e86e7852fc2c56"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"7d3734d170e664b91ed9e3b3daa7f3671d07599e91dce262a575a76e1a8d50bf"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"0235ffe9f8f2eb534715d6d7abadacb8f914517dea5bc9a426a68306072d1f1a"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"171f76aa224d12b934c5f50c951171d5216e3274dd5f9d8f9fc3251c88f498a1"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"ec4472cb81d8bfa953cf071f6303191cc084b398503b1bae7b97f29465adf05e"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"eef6d27d32546ecb3d04060cc1a6a3c1005de59537a3c8b70258e3f267a6beda"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"1613316474339b62efe16c71df7fa281f603a62e7787d67951f9e25d6039cef6"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"4a21ca50fb0810a989aa8c56759910d69e0ef5f77bab9cbd4578fd226a12403f"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"af1ee647d2a63902c72bb46afab99daba748d5ef1cae0731142dedfe31c8f282"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3d1117cb21ca8b9a1c8f7f0f7d7dd825a9a6a6bff56cef5aa513f5a47cf85af4"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"f35604f1c72a117350c9b8ce1ecb9762fd30ea3204ef37ac0b2599fee8740160"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"c5ddf89b573bfba5b09794c1c5d2a5c66b20cbb4664fcb93f9dcadf27f74e17e"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"5a76b5273e966cfedec92ea5a0142c3ca540765cd33f67eed58feeef8d647437"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d36384fe846343f82fa24b36bba46ee4be2ea96a26a6ee4e81f3eff92015505e"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"6659f0ce7460e5737f1eeea6bcfeaf293be53cc1c5f368c68aebdcb32452bb80"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d2d1db8a0ade696d92a1f1754dfe3b880b3fdbfd3c64fb35d42507eeaa653cf6"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"e4712fabb0ea2c2d4de8c34c15008e1baafe69c71a8a07374b0b6ecdd734946d"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"758640b794428a5cdb6918d72f939eb6e391dfcc791b43d0bad79526b4ff8cf8"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"dbdafa3ff2feab792097c6b2713d92394aff39732f86eea21cac4f2a73837993"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"8b773ae5533f41440116fed28a520317e1f7d45f71a456ef6abdc116c09613a8"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"94c4b0f5df5b2af08f63a60f83163507a08b381a775286237630d093ec6b5af4"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"0db189b921db163bce55c8990d1d0b513ffc004ef862d9d87cc0d2d210ff0911"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"768e86a3511b98b3ddb8fd987b66ebc5efdc3986c8220ecb3e0dbe574fc984a4"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"9fbdf61c7da767736ad6947859208b6478cf1c7f67bf1bf3a1b320d96f937560"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"56adc0765b86f9e55a5600e28644cc168a9a7a7c7c57d7fd72175388b2f434ee"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"fefd7ce124a9b1b31c876fee9528c26649cd04611a9f2900c54d959fe96089c3"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"de4d36972c51552cbba931a1fa0aaacf2b20262df422eb8731ea5f3ac44014c2"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"49b6532395ca17647867334c85a192b3c262e3c4b17f331bc6b67236f852bfb8"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"67b07dd5d0a56776fd91da95f3c3750d66b7d7109d840ce5be7e503a9fb6765e"},"properties":{"commitSha":"608e3936eb8dcbdd06f35369cb47e6b3afac0a83"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"1866b5940077d0ffe1876ca793297bd1c6c695176effa38da0b77cc12adc760d"},"properties":{"commitSha":"04381120e1fde90fe7f59663d56eda41f95b3dd3"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d84b2c56c156d8f5c5f0a4e4a29f4b9505b7f0f02a23e0019961719f47623910"},"properties":{"commitSha":"6e3052f08206894bfe2fa8787975e0d6ebd59694"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-540","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"A01:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}}]},{"ruleId":"D28","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3cdfd7beb31b791ae18dcb425e21eb157c842e7bbcd522cc330573c1a6538db1"}},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"f679e1a1743e283730f4e1f8d38d52e099ef35abab1fa1c2c49a98554d07c77c"},"taxa":[{"id":"CWE-676","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"A06:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"e55a974df92c6db4ff0d9b29bfcf7471bad2988d5200db441b3ca8e2d4503acd"},"taxa":[{"id":"CWE-676","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"A06:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}}]},{"ruleId":"D29","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"2ff888dcf195b5a5f8b6dd359558a31dfd10e5cbc202cc94eedb5c3c1a19cae5"},"taxa":[{"id":"CWE-611","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"A02:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"27ea7d53ea566b66f2ad2562319dbb3d3ebbc1499e9470b2f5f4b2502ab63882"},"taxa":[{"id":"CWE-319","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"A04:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"2dae5395aded7ed613c6b327de9e6ca979adf58ae51cf197b919edb26a06666e"},"taxa":[{"id":"CWE-319","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"A04:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"9b37628d6e986146caf22f3b8562f8998423c592cafa25bf09e2eab93209a723"},"taxa":[{"id":"CWE-319","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"A04:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"838ba907ffeba4888c3adeb6c7d6f047c7dfbf25d9244b6296414964e8c0210e"},"taxa":[{"id":"CWE-319","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"A04:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"9ca5b5a9c17e24a2dc270378f9c48cf8e750c48070e1c2c3399b15f2cfcbd2f7"},"taxa":[{"id":"CWE-319","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"A04:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"8149308a433684168f12c4ca689431357c4dea7d18a86e0396ae951398c590fb"},"taxa":[{"id":"CWE-319","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"A04:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"2db3d4ffccbed80b007acbd74b20cace83fd3d9a2aa8c9e3aafe5e6218958af0"},"taxa":[{"id":"CWE-319","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"A04:2025","toolComponent":{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61"}}]},{"ruleId":"D34","level":"note","message":{"text":"Concentrated knowledge decay: 991 of 1188 significant files have no living knowledge, while the repository is still being changed at a low rate (38 commit(s) in the last 90 days) \u2014 so this is one repo-wide knowledge-decay state, not 991 separate risks. Counted over 1188 of the 1306 production source files in this repository: the rest are under the ~2,400-byte size floor this dimension measures over. The code moved on without the people who understood these files: document them or schedule a read-through before the next change lands in them."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"008bd8d3156a7f5206da709f59f1f87af76671c6b9becea72c8c9cffbcbd4f8e"}},{"ruleId":"D34","level":"note","message":{"text":"Most significant orphaned file: One of the orphaned files carrying the most lost knowledge \u2014 ranked by size weighted by the file\u0027s role in the codebase, the same weighting behind the score above, so core code outranks equally large plumbing. A reasonable place to start a read-through before the aggregate risk above bites."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MsmsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f74483dd538a85262c14fb08eccb9131be14af60190b7a8dfc035a4809e3d6a0"}},{"ruleId":"D34","level":"note","message":{"text":"Most significant orphaned file: One of the orphaned files carrying the most lost knowledge \u2014 ranked by size weighted by the file\u0027s role in the codebase, the same weighting behind the score above, so core code outranks equally large plumbing. A reasonable place to start a read-through before the aggregate risk above bites."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LipidEieioMsmsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1fa0c749037676cf8d300f29e2d0eefd29be79190309c08c77ce5d142414b2a6"}},{"ruleId":"D34","level":"note","message":{"text":"Most significant orphaned file: One of the orphaned files carrying the most lost knowledge \u2014 ranked by size weighted by the file\u0027s role in the codebase, the same weighting behind the score above, so core code outranks equally large plumbing. A reasonable place to start a read-through before the aggregate risk above bites."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidomicsConverter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"96f12cb65ed9ca7144a91a52e275aeb93579002af3061fac067c4db5de13b01e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCalc.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0dbfa73b45073cc5876f7544040347652f68279bd1f0f7895bd308840f69118"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Search/MsScanMatching.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce37a8d88bfe20350eea4489f1ff6d8aa99c57d297908c26ce73422ab090c249"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/XcaliburRawFileIO.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e6e1d3fc6c23bf322a5120dc091289b06e82f06eb3ad5871fbc9af5add9255c7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidMassLibraryGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c873f62ca8b7bebbeccd2474a62f3bf8a178d56ef0eab7c0c2f655133c45f1c6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatching.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9fbb82e874d44e40e36dff5a1058ca77b53d7965fb60875592d7afff1b7025a9"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d68a2d0fb8e82be779c694909ca5e50d98aa7c24b22e56fdf18159e17edf1d81"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/Lipidomics.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee496b1de9681a4535b901de0426a381c1b0e3eab4bd21ee2392f66b4cb7ddc9"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidParser/LipidParsers.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"608e24f4dd1ddb4f8d033534cd8348309b5381b9c1d443abbe0620e0a8b92981"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FragmentAssigner.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"405477f3db4db77395fd7b2f38c303204237d981bfca42cb1dbd891ee4a18368"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityRest.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c447eb537d2b6b2b06e92d85f9842cfaa6b37ea2d6fe180fae1f9063b967efb1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzDIA/metaDNA.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca184d82d7553f027c48e078e368e98aa750863a58c9753bb3d8ffe81dfe891c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipoqualityDatabaseManagerUtility.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"59f553096416115f68d05a417631e29838e2b67b3ecb1d8c742984d3b3cf6248"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Models/Element.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee30b2111d216743ef5764fdc27c9ee39ca21b90e349de091c89eb1b6edd1169"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/Assembly.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f741e3f6dcc11f5594cad872b98d63f0dbbcb6c5cb7157f4c31e1e13b15fec8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzDIA/MoleculeNetworking.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"14bf3edf85fee9f0c78af25e5ddd2e8766df71df40c8a53e5b540cd448f9dda8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/OadSpectrumPeakGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f8a487e184c7c152b93ce6c5ec441e29d050c3faf9b2038bba924c8744fc56df"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/EieioMsCharacterizationUtility.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c37059aae981830c34f9c32554b7fbb2b90db5856796960f13a5dd67024ece1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/SevenGoldenRulesCheck.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"826f39aa7df8615d78d0704f26e5b412f66239e426a78ea161b2c104cd369e72"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/PrecursorType/AdductIonParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0824f65cbe981734fd6eeddd7f73bbcf52a7779eeff69c8bc6f60572c42dcae7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaStringParcer.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"41fe97be79de19d86e13081c4e7924788cc4ed1ffef9d032772b445644594a09"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/MzPackAccess.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"069cc31c2f2072efe66fd225627ecfeb652e98f8a37508db3eb94c0038d7a296"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/FormulaCalculateUtility.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a44cbd5fb275e7615e47bd02593c137885d1d39661a2d2936d383a8a46096d2a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/PeptideCalc.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b4c6b80f620a71b7f2e4baf41e4f180bd3b9495b02d34d6b29c26b4c824174c9"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/Writer/mzPackWriter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e14c1521ffd1bef4392d12724572cd47c850d6a9e88a1942c4b1805d4e51add7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/SpectrumHandler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9e957b14b89067faebfce05968506126fc14e3b5b65acfa092a47747f29bbd1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/MetaInfoReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e0b6015f404f83b202a1830a7ca809515f18741b200ac4acb3e131f6014f725"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/MS_Peak/Oligonucleotide_MS_Peak_ID_Given_Sequence_v8.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"22234897f30acb4f5d2baa415cf0adf77c4f2d91efdcc2f7c6b6e5ca5182d124"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Algorithm.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b559e6899c932b36ec7dfa7b5c7a3ab246f228c9676d6da6a7f1e01b529a89c4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Pack/SpectrumReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f1936cbbfb31b369ae73b791bb226b2848deb47c5d701d0b65d686b9600b71c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SmilesInchikeyGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"863369efe6c9ace0b2050d4fc47436bcd1cfe9e550ed59bd8f6d631fb9ce73f5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/PeakAssign.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4756f9dd5e48908db361430f85f61f39131777150b8c7c6b7e23268f738748e2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/v2.0/mzStream.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5754729379b20cffcdec43fb17f02c31c1c0d5928c7a7765e001436f1d0ca09b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/PrecursorType/Provider.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3187e47de2761fe6bd9d5c303d3cb3cf01e68af4b49e5593ab07cb913d3250fd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/Converter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1c1bdb521136fc893d5c432bea1da9d2972fd4f8f106f5aca42c4c85655b902"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/Raw/DataReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5170d1c882b73f088452aa92cfcdef319589513e48a216448b152e5834119cbb"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/MRM/QuantitativeAnalysis/StandardCurveWorker.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"938af4002c3e69d699a9f8b2e62db1adadca908ec2b0fce3636d6c593f455114"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/ElementDictionary.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a41b978ea7db66bb5cde21fb1c87b5ce70d2304cdc2cd964d987a4dae67b30a7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/MsImaging/MsImagingRaw.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d7056479d8084ebf5e03e14c412c92cc8c6b21ca6ebde137bec82818dd8ab78"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SingleCells/File/MatrixReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"12da9a7292ba5d6f05805ad7e6a1ae13d38a12377bd884a6485fdfac8d185c19"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Drawer.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"16e89a520e565b9d96c222723f8865203fb8659a6a9c54109c8d165dfda729f5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/HMDB.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f1f41aadaa54243a84884c933cecfa946d3115e809bdf83ad278926cb1076a5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumPool/SpectrumPool.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f19ef5b22fd81f95198d5491e5b90b18cea5203a3fec56ab493fdb1d120cc457"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/XrefEngine/AnnotationWorkspace.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"69234ba93edfa01aa6f20f131b4aa64c6e54ef29172d4fbd7fc74819c0c2104b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Reader/PixelReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e4f4884204154fc268694d31b7bc98866a07611e9e3b80b11eca8474e0dd5741"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mz/Program.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a1df5034ff5425b77f58c7da268e482472cc2eae47d050bfedaf2e764a7372c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/v2.0/mzStreamWriter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a01fe47c885c9615b41bb43e6b285bf9878190a08b257fdd9b9873f62b5e9e7b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzDIA/MolecularSpectrumPool.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6e08a8992892e42e0b880a7eaff51df88460a2ef443da6b9c873f44d9e065163"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Renderer/RectangleRender.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"521876b9d8811711205ef64adb7880bb6ec26347a29d6b639e4e0ba92fc6885e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/AnalysisParamOfMsfinder.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"83e20b79e2bec3d2589f6c5c78bc16f2d5d64dd2f6c4bce3c9f6f5b8b061e16f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Acqu.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0df3d852eb3553cff84a6f0be5d0a3c1fbe099fabca046cf3c97eb813c3ead88"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/AnnotationPack/Report/ReportRender.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5653e8d65f6655101a570010609c95bd62b05c57b47791f005f578faddab90f8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/Tables/MetaDBTable.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b4193201db4fbc32f46e99291492cadf8a4a14863b1a9312b4c5715edbd1c5d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.Interop/ProteoWizardCLI.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bfce2b891dc775169a5279acf5d1a14b996888179d23ed8712913db311b07dab"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1866c7aa9241a70f38813270c81603a90eb0ab6eb9e943852d73cfd4ea33502e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Splash/Splash.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8d0ffec626a31f92e8c55e8aff63594af68600bb653f54f701e7451c8f442bd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/Binary/BinaryStreamReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e47d4c00d8805ee5be136019ad478eadc5aada0c624053cfac40bd5694a92827"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumPool/FileSystem/HttpTreeFs.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c02bbdc500c1a7932573cd07c769c9998abedde94f4482b705c6ba14622048b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/GCMS.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a181e89831fd82498a05277d858c687d9653b03c354327c9c420312dea734e1b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/sciexWiffReader/WiffFileReader/WiffScanFileReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf35e8a9cddba3ab0f70387f7046b70692f3aedf5312cc0ac7d2108aee980ab9"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/ModificationContainer.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"039ce77aca9a42d55425064b9c430b5b79bf129662f7a692c2dc2dfe23ee9fd0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/LoadR.NET5/SpatialMatrixReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7cb338afde2aed648eedc26c05d98a2afd501c515e7ebc709a3045e71f500f36"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumPeakGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f008e2f8845080c082f073682d4aa3cea87902d74af16b73d67022f399ad4828"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/FacadeLipidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"740ccf44ee7acd9e6c518b83199b3e90284afb6847250b961721c20903ca57a7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/TissueMorphology/Scatter/CDF.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9d41da9ac1bddb057e871b40e674ae3e15f9f3ee198943567c5a7129ca394ab"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/SDF/SDFReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"817807903624f4679e3445f19f4bb6165a19857430c2e5a3b4962805710dcfc7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.d/VBServerScript.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f0b54ed4d2e4f39c5d9a7dbddda9552d3c81398c6c0c725ae61317f8ded23037"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/Tolerance/Tolerance.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a18445de0c5ff1e4b15a868a8e74f18142e02320758b21a31322e3c8c4fdd8ba"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/ChromatogramPlot/ChromatogramPeakPlot.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0684f1d19d24b79e33b196165eba49a844d257a303390d110a285248a2237936"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Omega3nChainGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"96f56c8d7204befd936d20d10cdf1720c922dcfbd939191d02a7eb7245d1018a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/baseline/GolotvinWilliamsBaselineCorrector.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"99256e1364019e038932b5da0ad3570193cae5e36204c71b755483bf8cd16d98"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumGrid/SpectrumGrid.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f34418f31fbc7cf61fe098a9748a2ab4d83664bae10631a3e9f5a6036b4509f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/mzXMLWriter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7550e7e70ceab0f56b0bd726a293d78237b4352d56153910f4dcc89fda9831bf"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/Annotation/ExactMassProvider.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9c9e37b5cc5c1b5842c644b8e4d14f6f9a760dd3ca04f6c5c0c7ec2e49e42ed"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Mummichog/PeakCorrelation.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"07c774cf24cfc839ddfbfc7c1978a17fe36bc4723e6ced86bc36d481681ef4c6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CLEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e73a11a78923183f7b3b63a066682b79f0f609b20b7aaeb505fa9a8f3b13b7e7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CeramideNsD7SpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac4affd0c960ad18eb7c29321f153e2010f65db6d059c1159a1565c37572a733"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/DataObjects/SingleScanInfo.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"726cec65842a6864df0c68cee1d84944657006334dce4f228ff3bedfc7a0b478"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Proc.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b87aa31ec2634e6f4d552665d0873e160d797084b77d2844b272a3e0f6864248"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/LinearPack/CDFReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"695978db274a953585e52cb4e19305147b544b5a43e8ee24b396879b7c2c097b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumPool/MetadataPool/HttpRESTMetadataPool.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d87ae2addd094b0a93e9496a83e76b9d9962408b246ab912752af739c355d78"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/ChromatogramPlot/ChromatogramPlot.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"393ffee124d11fc345ed51892df23073b369ffef32f3e1447fc357a7ff23be43"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Pack/PackAlignment.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a630e5432a6f69148cb472b5e6a6fb18a5e9921f8f9cc29a23072f763c0c57d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/HBMPEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2e344b6193158701422a02ac6628243281e447a30f1a6b57b2b30e2c5a6cea0f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/Linears.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8cbd0609c106566a8d89fd09c0e9b070508cef1edb74655b6733a3330778acff"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ChainParser/AcylChain.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"82a7d8a8b4e46838d0564bd0b215d472d30871cca2d9628c76c5c44155eed418"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/MSJointConnection.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d882c05b6ab80a95ca48052f9953952087eb234410b3f0f94a04d1ebf6110c8f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/MainLayer.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"81f34625345f235b1de309137de6f3569f62bfec965af1180b38e8ba22365bf5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/XMass/FidReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8193cc866ea3acf0e3a89bf454e42f744b5642330c445453aa9f6bf6f077b37c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/PrecursorType/Formula/Positive.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a6138a291545fb45f22e37b57ee76dea804bbb5bd6ddadca3d3d9eb11208115"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChemDescriptorRepo.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9e055f3f4bc9a60699d16adada28409be4af714a94859f8abad683116732ffb"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/TGEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"929a4bcd2726f9336ba8aabce308742263f1dc79c59cb909ce65bd1334633d0d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumPool/DIAInfer.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c85d712b38f50155a36f9b98842e016fe9ddd5f9fa37682a3c22ad51b046eff4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/MSSearch.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d9db41bbdb87ccc6b8d2cf7eca6d5eb52ce032b890f94d816555cb38dc596a9"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/NaturalProduct/GlycosylNameSolver.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd2d6337e5f1636981497880354e28d7224251346202a17fb6dbe1e34c348bda"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/MZWork/Raw.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"09d4d9c616ccb269f66dd7f11f9c8edb5694a89b41c1a27ef98ef9e7c4c32355"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/QuantifyAnalysis/ScanMode.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7e565fc2d3a2ecbc1aefc17d5a5d36640a4a652664220c4ab6de579c869cf65e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/FastSeekIndex.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9f12e92369161aed30ab7d02a38207bd6ae1eb188944a88d596590f2525e86e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiFlag.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"01b2a8d6dac34154cc61f51d5c08c81ee6af9218145086ab74ecee3f1335ccf4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/mzWebCache/ScanPopulator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"96e32c0ecfc892c0ae939b64422c50ed11f82505018afdc0320819c6bb277e2b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Query/TreeSearch.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e76353961daad3a753d6ce2d34db9b10730f30b11fb67611579ca8b28ecdb2ae"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/EtherPEEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"da0cba6098f14ec34cde765a181545eec433de0dc1a9c39cbf3585aed374d391"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/EtherPESpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"64ab67412b20aaaf49536c065d11c4330841b39748530fd5045b74f8a60a1793"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/ChromatogramPlot/ScanVisual3D.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d3b8fd624f9fa3e7b867790d9bfd8b7bcfce1f3561b3baa3e5558e95a122c52"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SeparatedChains.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9968399c5b52a33df4e9d1980c12512c19bb40da179f65e0c6ed29521da2a562"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidSpectrumGeneratorFactory.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5a2f153e9ecf794e0bee1aefe956081c47a31dc58c36ab4c43c0caddbef4b8e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/XML/imzMLMetadata.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"76d4bdb2acc6ff80162e8be112eb8bcc716c71df6cb7fefefef96bc86984e717"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/GCMSConvertor.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f97a49cd7022d710e9538a690b78b84557cc203773e6c208f8579ec4bbcfaacb"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/MoleculeNetworking/Protocols.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c8531a9cf1b82380102625d222e4edccc8b5cd5d443883888a05561859fac9e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Chromatogram/ChromXType.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a68285830c6980490605f9e8781263b998cacdf33a8fd3049fdd703ed64cb4b4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/Metadata/MetaData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"916e814f00c178dad770f0a334b02a849d96f0f4decfd62edc16d4a1031a61c6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Result/ResultHandler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"cfaf7ac93a7cb737a30d859b1e943850d6ab42ee9f755284770b8cb6c7c0690a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/HBMPSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b337ac577b95a382c5a8c5d000e3ed29d4ba54b31d8e868d07968635b3cbada"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/TGd5SpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc86983ffdff2d82a8af134cdca0a2e2022814220b8e54c27e5909aa4725b34e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/Peaks/ScalarPeakReport.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e1c58f81d0bbe196e7959491f37727265dd64fab480bbd2457f101343c9f233"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/comprehensive/GCxGC.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea7d36f562d9c6e1c8a29731bd8c5a54805be7b13b8949c8d81bb1f6b6b5e081"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/ChemicalDescriptor.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab6111914ab098ff00f1a5170376697e0f658f33fa072a0dda9fb23da36d0354"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Reader/PixelScan/mzPackPixel.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"09f2bb7148ac9398a6b9744fa3c6b3737844694ab94d3e9618ce19441bab3029"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mz/Pipeline/mz.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbfdd29ff09819cbfc0ffe1178d5e6e4d4bb89208fb59642207d402680004188"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Models/LibraryMatrix.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"488d831ade6a445c349c8d55c90c3c4e443a0ff4c6744ec1d6cc72308362c95b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/LinearPack/CDFWriter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a660ca11ba186fe2c5d5b9dd938c9e363cd5ac03f69d6467d6bbacf20a485c2d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/MRM/MRMIonExtract.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"815d3b7b5bdea6b96dc8fb8bf62a2178b8356c6ee902e1fa1f7ffc9697048d45"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/PrecursorType/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"cfc4296499f51f9c2aa5a544a974ef4c682dbafe2924bea3e4239d5f39bc860e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Renderer/Renderer.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a48a9312a3a62d5019502f951c7b0be236eadb38460b9e39e907d14b3b5da2f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/Linear/QuantificationWorker.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"675597cd22d84d945a6dfdea2f0a895fcb6503491dc2439866a1dcc1ef91b76b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/pubchem/CLI/DatabaseCLI.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"08e17ca5f36a33dc0b72b6e6fca3d560c81b692f155497f73506893c26f439dd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/OadLipidsSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ec5dd0703060ade4499c87238bf4651b6061a110c6dc154df9917ee6043bb123"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Layer/SingleIonLayer.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc86791969252db301cc76e173bad5dd656712b6dbc579af7cfec23e080c2bf8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/TGSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f843f8bfb0c1d3a2f46cdc4488a72bbe2d121fe4e7ded86a258b3e946f0f8114"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/math/SMILESTool.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd7f64e77b5f54d97f09166604b182741d111ab9580d8dc07603923bc9b29459"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/SHexCerSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8297eef19fee7d19c73b851462e1bb719767f4cc184af7698e9a962c60591524"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/PeakArea.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"64058f6df06bd50042a4ea7a9f572c830adea9f186443a965d9ebdf4bc2bfa21"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/BMPEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"addd9530b666f345dcf3db49646a5d14606e7ab2aafb8f832dd688b82d77128f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/SpectraEncoder.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f539b1cca033367e19f87d6e86f5f6e937e648d44d07cb11e2ac542f2eba1c7e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/MRM/QuantitativeAnalysis/Samples.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4af09da4aa23c1893fa25e4698cc010338329481137a0b51e5ee21fd3fbb6751"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/KnnInterpolation.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5da87deaa7b4bafc61daca5c296d6834a58b42520c44a0d94403a74975814f7e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/Models/Information.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ddf48667f0ecefa7487752a7ae514e066f6bf1334743d7fb08f1c7a76dd7b8b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PIEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1939ba3ead296eead187116c2afbd6a003ffe5a4775f9d9d3bb78612041c0ee1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Chromatogram/ChromXs.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6b5276c5e805e0f63ad91eb60d9cbcea3ebf314204f0a4fb2b319b70c73311d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Renderer/PixelRender.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ddacf9cdc47ede2ddf87d3ddfed4cec440ceef4d331b46669f612372e0b5fa55"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPSd5SpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"63d728f8e7bbef7704e285722db373d2ba202c3c99df1fedef73d3a0be7f21b5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/Raw/BrukerSettingsFileReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b1d22bf14af8cb0088c91c893ae1ebe69499dfe554443b0d432b7569995ed4b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/HexCerSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e40cf8cf273777a2be0f32bc64fb88816bb86099f9549b9aa6b329d926ebfd66"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPSEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8ca804fba88ff3c1c088369ad6b4d184c3d9bdada299e0039a031145f05c065"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPGEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"32146215e611329c958d57a1fc6f9debcc4aa2b2c9421e4e579ddd5c15fef217"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CLSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6602e31c1f796cb5a22beb70009a9ac944e2492a8f905627e2c9462322aeab60"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPGSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a06c951d561feb7e5b17e791ebc611bed0679488eb61bcd460574df366306539"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPGd5SpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ecf777ea9f4dd17bd07fbd7ae36af3c191dce978544b2ff04c66128d3c63b394"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/ActivationMethods.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"164ecc2f8565e5a817c32e4c6ad46d724481fc49912737e5eaf1bb9e21ee1ae3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/GM3SpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2552af3dce7a7fd98d92840a6d9db57074e547f623ccfbd4a9a8c2bd51db7b7b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/KEGG_MetaDNA/Program.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a78473ff302b1e82a60b7620a975f89cb93c37f25d80e5c2aa1db9ed4ae6c2e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/Binary/BinaryStreamWriter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c84458cbccd7e8351e77044db19186e098f287fa26be1eb4e7ec2b0074ef9f4d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPIEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e0631c43ed3946cf0679373bacbd691ad49b7ae4f541e31dd9567b87065bb64a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PSd5SpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"19c77d1a18a6a216be4c056128bcb20e3f8132aa447d7d0bd3bf3c0bed1c0ec0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PSSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b92bb2131f6803f59460646047f107eb5eba7dd94e3101f73521034021a53a2a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PGEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1805b4c61a13dcba0195f837436fdc2f3c7e0cea4d223d99306513949fbd3baa"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Models/PeakMs2.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0ae97abc949957467c6cdd5f6b872545991677ae641eaf97d55149b666e06c5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Layer/PixelsCDF.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1691269929d753cf49b7c0da97b9a23dee482b17cb501c9e1d8e12d84ca0f41"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/ComprehensiveMsPlot/GCxGC/GCxGCTIC2DPlot.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6419ec25cb268c04e4f890d7a07292f526998e3053d14b5046f9941d095b654"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Reader/PixelScan/InMemoryVectorPixel.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f53b899dc500f33e73278a79f5cfb1f08ef5cfefcf3e7e3a1968ffd123bc2b3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/IndexedCache/XICPackWriter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8cac1f84423c7ff57a26c11cd2c79171ad239654b61b197a8392be64fc33b712"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPSSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1197e897e566ec22fb89b1533e2c7946c8f90007c291d9da3138c724da46b8a1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/OligonucleotideComposition/Oligonucleotide_Composition_from_Mass_Calculator_v2.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9bcddd70fbdbc6faa2fca82f13f1c324220d86aa20ed0f9f2746691ed84b6ff4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PESpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"52956e183cae6010cb00bcc77ac6e8e92e33edebeee2173c76093787d5168e4b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PEd5SpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9f8aa4d89e1565ab0fd048b7dee68afb8f4ed8b4d1a1923f80abc841a263e0a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPId5SpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"516020fedcc93ba767d2a2008e8b20958c00c836215c2054504360cb91e13fd8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PId5SpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"47c952e7799d94db8efcd3c242bdc2301d5045ca9b0bbc2b461b5ef47cfdc047"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PAEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"45a133dd91d7c8604ace33d1c606160d358ad6cb6496d80c0f74b4aaf30641cf"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PEEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"762f7f147989a38804d67508f22ade0bdf908459b963d09b4c49fcacc199089d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PISpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4d621be26fbf0150bf284caa333931badd98e68f37cb158c2db9d0ed53cca37"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPISpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f9dc1b5c0d18a376ab3a875188b61e33a206f4259080e07fca137277bde7728"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PGSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"10cd57860b1be97f87cbe3110c2dfc192f525a8bf1db22d28cde005c6ad06634"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PGd5SpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b2d4e5941709e23e6d77e97e01a3323e88a9d5d23eb0606c0aa472ca0cb40de"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PSEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2cc7ca347583ba7836762c2bab31af9e767a8f6996b290706a5649beac290f3e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiStereo.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e5cb66b8c4a0d9bf501d0ed565e0c69b61a1149daeb464a1fe8dae220c43ee1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/PeakAlignment.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc2dae10b80367a3a0630a23149b3a17a7c68c694ac1d15a77f35348e0304e01"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/BMPSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2d5a47b755dd866c9d94274a72c2eade9b508d60f70dc06ff4b45ac4ea267ee"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/ASCII/MSP/MspParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ab44cfcecb1f468a9b1f9723cfaaf0b53aca11983c175d45299520d6f20aad8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Alignment/SpectralEntropy.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f0a0dac1d5a45d496b47c5ded952a38693792eb0f209d54683d5a2c4b81aa52"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/ibd/ibdReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"07c734409bbdf764a5776f3de61f7eb4c8d9ffc797f7187d6260487c5f3b49d4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/math/QSAR.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6d0230641ed679a1d33b1cbf73fdfe620e74682a5c9fd4daf8f2503afa746f12"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/EtherPCEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f56aca5770eac61a30e6596fbea574d0bf2b7cccaee8cc418f6b9bcf45fe3568"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/SMEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4eaebc6735174258f70c157f9fac53f68c316ae8ea9038d35f186882ecb0866"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/AnnotationPack/WorkspaceReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"833e5c65cd28cb8f0685bc8e54994ff169d3d4a8505b50b1ac2f019b64f4624c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/MassSpectraMirrorPlot.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8dcbeac606796fc122705317850589c3446233fb92fb5bb043b6eb8938eda09b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPCEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"257339d98345fac06294709086fbce06955c70e58b19f734225d822693205bd7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/MGEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"daf5178cd4f5750c82039ade245f149ccf492821721ff899b06d8b380154a647"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/EtherPCSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2416f28f1856e8af722c3175eb0f554379723002b64047cec6020350c5832a5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/TissueMorphology/HEMap/SpatialRegister.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d1cbafd1707724366d59340b002532400064585600c4f0fe5a99718d6d7ba32"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/MGSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3294ef99f2fceae37ec42e647c6c67b188d01f4621b37900bfd539261453f06"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/DGEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2305e7f90e4066fcf19c7aeae354dbcf1d91360dcffc17eb814407ac12e51310"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPEEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"adbea5a778329459ed84c22f9a6e4c4efcc58f74674120cb0cdf9d37a1f0a0ce"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CeramidePhytoSphSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3cc56b6bc9cdd8ebf3506d9f55b0396f7a490ddd06c9837b38e638fe0f29fa3c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/MSFileReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"30fc05261623387dc822186fa81cb1569f004951129072504002ae381f2e4ec1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/SDF/SDFParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"34f330a7c853ced5e322f0b8e7c3adf5a3df6574336376c2b033c76e2ec40b33"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumPool/FileSystem/TreeFs.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7111cc408691806bf6a033dad7611ad99e04db43543c2d01c5b263fa76c62411"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPCd5SpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a37ec59b9067171e801bddc4cdae6fbe72a29b868cffe93dea2fc694222dd6ef"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/GCxGC/GC2Dimensional.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3cd4670406945589e7b486682e1162613dcec3d549e5d46f964bdd2a0565983b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/SMSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"33cb705d3c2b8b259eb2f17fef0310b622cc766cbb4c738f5f881f635d7a2c02"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/Hex2CerSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"de38690441345685f88355fb2a23b422f64e0306e69d3b5af70537ad5ea087d1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CeramideSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"015d889bc5f4c7f020d8cd5a1b013664d2ed87334a3d6987b592c2bf561548e7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/Tables/ChemicalDescriptor.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b900987be8c63a02d94cb4868633ec43573246f27141d62373b07dee9aaf0d4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PEOadSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"223ea792199b07ccf55caed07c04bd06d8d94f54b5f31ca2434af8f4b56e4623"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/Massbank/RecordIO.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5fb72bc38741216cbafff6deaa38f4212fba5f2894353427842257ed1c39eb87"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPCSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"704f14f68ce8b41db28829061aa5e4374814e2ff8c86d3bd13b7916fd11176df"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SpatialMath/PixelData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e9cd588d5fbe765155439f320a240805e41523dfc2cc4dd1582657873153cb4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/XmlSeek.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a580a739989418108d9d7735efb8c136c26e8dd9ab6b975d8c32bd313e93b8a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Models/UnknownSet.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6601195b12334dbc05c07dee014faf012f45d52c985a19d88e15464fcea97c8d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/QuantifyAnalysis/QuantifyIonExtract.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"78a61aff6c065c3a0fbb599b61c5ecee8b48a7da3db05d3ec2496b2f512d963d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/IndexedCache/XICReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"093a05852ea5aec7b98ce02828d29ab72ccefee44f9f6be25099cfd9fac5dc5f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PCEidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"409cdddb924a8ba3a5cf61e3076f6537849654fda07d7a237fc61f3c0bb56d93"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPEd5SpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"22bc38e2cedb1d3f1a6401393ef3b635c88022828aa40135d2a4d3594e410c3b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/MS/AdductIon.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"03f59d3982fe600242d4a59b0255f397232bba0db1f0da49c659885fe4c082d1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PASpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"77c748af6f51c28f2f05cb9b4918ce7bef7caad117d9949aaf9df9e3f24314c6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/ASCII/MGF/MgfWriter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a762378e825d9e32caa1466e417db145da58fade1edaf116ab239d43ebcd11d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/Query/QueryXml.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c027c715112318c797a5ee53963bc8bafae2881e8ab081e4416c1d88248f105"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPESpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac05e1e177a64e30b793fb819f7caf6a280e8d3c1167d0da92f0b6971edc162c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/LinearPack/StandardCurveCDF.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6d1a81db8451da53484ae67606818d9118aaf0c5b6e2a14922e137d7bdf53524"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/mzplot/CLI.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"eba620e0b869db15aa89adab7615467a875a0fc8313bde8aa4ffe0d0c437bd97"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/DGTSSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c33b59f28cd0a73129c29a3e0d2594691e17eeebcb4901acc21f4187a466f3ed"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/DGd5SpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e746a5a86139e639ec3a9c6bf93ea8b70b283b67feb432eddc3e072e878873ba"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/DMEDFAHFASpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"901bbe4f21c315c967818abbfdf08d35a0c30d9afaae3d1f61dd7f602e5b5adc"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/Visual.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ccb436c060ec9420281b11e75cf1bd73b5b160a9bb7c4a8094d40b12bffa160"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LDGTSSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e3471c78f54491ca31a9ff6a481794bf86e75175174d6dc2ce3682ecd8f29c4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/PrecursorType/PrecursorType.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"af9c16c9d7eabd231eccec54f569d99375b77be1497996e0dbdfce4c68531a6b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/DGSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"27d0eacd05f301df6cabe061c0d417190c4030520c77f61bec753c224ce9c8a4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SignalReader/ChromatogramReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"281e85378774cd008c1f235b757466e869d8dd3314d982f04f5a84d8e1b00e45"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mz/TIC.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3a1772a7c6c71912b5d29b79531499d268f5fb1373c0326f0cf3834c8738b77"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LDGTASpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1de3e43ddcdcb318248c2bcdcd0713c6577c99b4f480b0dde91182ea3825a65c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/SMOadSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8481a28a0d6e28cdf379e4c563240b12f6931c90e818b1ca633574c9e4ae1013"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1067d37353416a49cdf7751f29bb1fc004e7803db2c6a96be9869d0d784247c3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PIOadSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6bc65aeb39d69cb732007dcbcb6f74f3daac69407c14b45fa8b5dbe957ce8fc7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/EtherPCOadSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0b2a9295eb7df5dffe10ea936c391138da3f49b74e16addc3e8560d69cff42a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SingleCells/Deconvolute/Math.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c51cda0cfb76df48db6bc8560dcbca7c08bbeedecd6a100179bf67104e7f063e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/Graph/ChemicalFormula.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b2bc314c501da267550ca02f454eb49d5320de515210508c7a3eb16be2e5f73"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PCOadSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"64419598addd4e258bc09355d0b2b5235b8585d58de5ecf819e726dd67dc09f1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/SMd9SpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba9b38e64de69dd38c93b8fb141c59afad08af31d1d6169baa88cee95b3c3ca1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/phasing/DSPPhaseCorrection.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"131b143d77a66b71e0e2ca1059ddf5f212317683b33eb1bf0fd9cab828bca0db"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PCd5SpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"31250c731fa8c9e40fd7464ced7f2b7710749ca7a986623b7e7fe67a4ee13f8e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SpatialMath/StatsMath/DoStatPack.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4667dae032a5b1d09f37be19d37ec21b000e0bb2fb6b687a7efe7c041bf17692"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/QuantifyAnalysis/StandardCurve.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc0d55668fcc4b1fc02cf132b4b607cbd0b567451a181542c633d68b5dc06d10"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PCSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"231558937ec84678ad10629926f0148b2073ea8ce111b3575a16540089de5f98"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/SDFExtensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ddd7504ab58c398021eead3b114834dd8819d522df8389737ea9726d57a2d2e8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/FormulaSearch.Extensions/PeakAnnotation.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"28069965b4df98582425fa01d5127e61d55552e05ac6c1e0b35e574ca6680ce0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzDIA/ms2_simulator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c343646a09842f6b2051bd1c3fc1638c934365cd21997cdd51cda538b8bfdf26"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Pack/Validations/DataSetGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d56c576423e27f23e1d300ca3fe25997b47fed2b5ba380eddc2964bb9f459d84"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/DGTASpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8763444b7320a552b770849e407e648e6c4dcf0647a135e9f3d3887c815402d1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/PGOadSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2baf44f86570af3d343d3dd363cc063287c90cf1a646e4c1e3ad22d9ff7f43a0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/DataObjects/RawFileInfo.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0d2e1d3b89ff35ab43561d5626d8e0876e1e1fa46106a0264736fc5cb165a9e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/MoleculeMsReference.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"079fe603958b78abfe47d6d62a8c28740d914104e3a03e44cd60b47041ba0916"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SpatialMath/StatsMath/DoStatMatrix.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c4540c11ac168543dffd7fc5fc2e821b97ba6d5b4c5764537c3e2fc4d026406"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/RawScatterPlot.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"598a8c8d241ea7c2b5383736fc22c9b87acca1afe998dc52d2b01959a549e007"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/SearchOption.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d2bbd117532e55ce67b0158d450597099298c48468f571c981ed26f8af5749e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/LibraryMatrixExtensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"785c2ce84b4c747360f1aea479469e28fb8636b9187b61e0d518354a2fea64c5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/ModificationUtility.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"07b737bff79354a8eda020c58770a5493657371928228ec5049e89646f4a9821"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/RawFile.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"481b21a5d554dfea3334cb52777aa8dedd664b42ec429ff500cfd3be2f6fd22b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiBondStereo.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"86720f696315653251f53f97dc53aeed581fb9ad25026e25e9b76dd577e5565d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/MsImaging/MergeSliders/MergeSliders.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b0763f3f4f82051567a0d412a16d177bfac187a6e4918960dad99e6a9e82e49"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/ReaderExtensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2aadaf331d26f77a464f9e5648d0667748eb47f64ce359df36fa60c6ef2d4e24"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/comprehensive/SingleCellsPack.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d5e2cd44bc45d69519ef2589f75f377356068aa410e71164ddcced20450e7f25"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CeramideOadSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ae7467164d520325b7680fd463e5a6c7510fd98d8e86dcefb80ae441b27768e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/InChI.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5733b82588dd5aa1bae73530f5c78687c572fda4a7517f7351e90be3a7577edd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiKeyStatus.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"813798697a4409dd062d15bfe6589f966c1c6dd3b59ee76014cb361d9dd63403"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Reader/ReadRawPack.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"57723dc497bd84170e0f8e877e5a9212ae280944c3a634587f0db86d737b65ea"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/SpectrumTree/SpectrumTree.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ae1ea8d91cb9e72671c1c61ae80d3114db507083c3f6204def67cf550cb6eeb"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Infer/SeedsProvider.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"006917dad74dc1245ba2c04b52500ee1c9e2ff4e1521a83532c72899562c2cee"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b4528279a3720e05f1b41bb8a2381b17668421adb2056d7b426763cf6de1dfd9"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumPool/FileSystem/PoolFs.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7108eed8e2ecb5f72ffd35ab27c24b87cc997011151e362e6df8f6847b768dbd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/PrecursorType/ExactMass.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"179cd5af9ca6f3cd535ca7838c4996d587e3c0bf745a06afb7d5c8ca226f420d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/ApodizationTool.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"77bf676ba82929e08fd57c2f83e551093ed98e9f0906907229b52c2bd32ad453"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/comprehensive/z_assembler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e2db47c09a70f3a09ce5a807e0e93ba310957a079858ef5925dfbda678145ecc"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/MsImaging/MergeSliders/MergeLayoutSliders.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0be2e1e2e73436725d75ebaf5def23eae3f4d68f6b0caaeb81bd8f51d00790a4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/UnifyReader/MsDataReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1cfcb1335b9ac92a50b5629a1e272e94cde732cbc2604c03a8da4f4a998b909"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/QuantifyAnalysis/SIMMode.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a31e65e3e6ecc004322e12e5fc779c55028ae2bfcb9c030501408f11ce15a78"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Models/Networking/KEGGNetwork.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e501c433eeae3f9a28c29532bb5e58c463b070dc64c0e7f99f668d5493f0c4aa"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzDIA/Taxonomy.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1efa1144a31e329ce31d54f2941b7d451d51561e1b2b8792288efd34753773dc"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SignalReader/UVSpectroscopyReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d98a577d9899b6577879176c96dea6fca5b11241e3501f5cc12f2812dbd9cb3c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/MZWork/WorkspaceAccess.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"06af3c7f69f788e799fbe0ba6454a66aa05c72175f406a9f821a5741074fa745"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/MRM/Data/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8db0666748db54695c31dd4177cf928e354d6436570fc75abf35111249c9f61e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/v1.0/mzPackReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ce1459a97949bd70213cd7863ed8aa235aa9d1156e0789f9bf19db2261f50d2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/v1.0/mzPackWriter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d44fe3c4cd74f219085b26d91e7a32a55d83be4e825424fc61b0a31b6320dc1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Concentration/Concentration.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"215ee93dadb7ee9a53bf9b930a43b1364e0d70ef7b6a356228c5fe047904e3ec"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Scaler/Scaler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"53005b2fc990403307bacace03c0ba5ce138db537e9e819cb162cc0989020f73"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/ChromatogramModels/XICPool.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b38af22f1816127d221a34e5a8c2cf0985e27d5455c6f488fa14b3e959c6e1d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Query/JaccardSearch.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0cc2448e4e5490ad99f65394ab6ce164d09a8ad654dd87d23602804cfb75caa9"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Reader/IndexReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b83bfa0e10dd19b737bd530a43c02bd031ad34d44f00c5f4122c3fe6ca125c70"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/MS/MemorySheet.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c8f21f01d366ceff9e3d61457af670dbc25070c1cbc03fa283921f193b9bdc2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f48636e3dd477b69abb0333f4e92003e8131b2234958295df0d1010d2a7f5d0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SingleCells/Deconvolute/PeakMatrix.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"493719fae4bcf0b48143dbe034fe9111419a0523fd208a445986c83d0cd456d6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/MRM/IonPair.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d6472abd77bda41319d00c6073b695bd46135a517c55a2bceb0bf8aa31407f4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiOptions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3cf6fee749a44f13b3e0bad582eef8cd96d4a30e5d62da7adb58fdb128813030"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/ComprehensiveMsPlot/GCxGC/GCxGCHeatMap.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a2e152058862eff4ae9b530759966dad9d619cdb40ed1bbfe32e8401dd07a41"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/Query/Query.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d5183c3459265cc65c5fe9fadaefe8fa40af57a65148098b5c20391fd1046c72"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/ASCII/MSL/FileReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad57646e59ee708d113482ac535ca063a018e3b7811789869e978bd1113b99e1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/Tree/TreeCluster.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7e1f06da7fa776b27725ba047a985adda357db0cafc6ef52a6b96eaf41872e5f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/UnifyReader/FileFormats/mzMLScan.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5dad9572be629d36cd919ab84d1d8a434aaf8672fda44b0cef55ae0b21ecd9c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/CIDSynonym.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"48d14c61dfa2da094ebf249b7adebd19c926d2cd6c4f636e9ed49513cdf16cd5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/ASCII/MGF/MgfReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6bde104e06fd3e0045a30ded491a13a9d4aff5f41d0347e698261e5724fd870f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/TotalChain.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3292d309605293281861977c5fd3c3ebf53599dbf929489b9876d68a49486450"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/MetaLib/NaturalLanguageTerm.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"83786105ac41f505194a634cb77cd6a38f941e20d08e4fa6a679e76d6a4da013"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/MsImaging/MergeSliders/MergeLinear.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d48fe6b5ee715b3275d5afaf931404276fac85200796005d5218bf2350c1b519"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/Raw/Check.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f27156a23c7abc6302022d05921080d971587b331afe8f0a28dd456dc98533b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/MRM/QuantitativeAnalysis/WiffRaw.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba4a111d001d25e6696e54be65f1a6d90c62f9118303daae9bd37631ba0bfaf4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/XrefEngine/RepositoryWriter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a72d2c35e01b61b889a818ad1d4fc0aad1f4178d96b4679bf2d095a52f3b44fa"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/DGOadSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"57b2f8c52e50ba3831fd8ff55c27015470d275030191240d9576827c3e5d2df7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SpatialMath/IonStat.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"56fd09058173577cfc55c9e33eb6d6156b868f1085c631561027ebf099db0401"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/Contents/ContentTable.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d45843279615c0c9ea05a826cfb99e45e9e3285ae3a93873acbe57781d760db"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/XML/ControlVocabulary.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f9a4028aec2225998ba0943421981ab68efb178826cc5359be2d1c61d97ceaad"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/XcmsTable.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6fece467f3fd9475a80ef5e09ddf9611b77258278d1980c693547a5c470b426c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiAtom.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"68c037158f639c127b4cd771a11c5f789f1ac11f127901f9f3e40f2a8f515106"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/Embedding/Embedding.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"176d784c347b36b9aaa445e63740570a99e551a718cf89292f3a97ff9723d4a4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Reader/SimplePdataReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"151c28bba6eba7bff5c9d5e9b5444506e23b8812e4692429db80e108e8972db0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Ruler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"18ab966eab6c39470d6ca0983769f170d31d6fedeb760d5e0df59ef466ad54cb"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/XML/MSISummary.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"69cbb22708c0030488787e2795bde403b48fb7f68ff39ca59c819b1044256eba"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/Graph/MeshGraph.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"14e2dc67fa5c6ca9153ce70427919657f574712b3a37707a8f9ff8f56ae07a06"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/UVSpectroscopy.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"354d1dd98a905d70632c3c91a63862531988e23871a9750f2baf20a721c954e0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ITotalChain.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"484dbba28ec3fbce6de90598d3c13250103db86f7a5bd84b83faa58c2a5795bd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Pack/SpectrumPack.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9114ac7648024d252103d2c6fec6876104d22741fc99f3143bbe4b946d27542"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/Graph/WebGraph.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a504be7d019071a1a02825265192e6410ebb04fec635615e09ef126ad00faa2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPCOadSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f6e864efd0c4c89df6d9b0ba4351aab9910c7845e38c79dba8add16f382e921"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/ILipid.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ebb6d1d8020bb3561273feb32e9951ed726e0272209708bbdf36d622fa49c9f8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/Query/WebQuery.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9cb2ad190f4247793cb5313b9111d652ded92c9d20b35d18fdb36538e8afe2dd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/Spectra/Abstract.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"feb6734e96010f2fcde0418201c71b24d276d9422f0557f9e50dae80946fca92"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/MarkerDB/DataSet.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c2819f64e7d43d807ade0dbd3accf24689dd6dd660adfb75838870a1253bf4b2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/Massbank/Model.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e8e0aee8ae5eb0b35b0c5b128b35f4b80d69f9bb7d4f4daf9627067ea9ef072"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/UnionReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce25de82d8d53e5ae9913aac1512fd34045ffc762396a197176a6c425bace159"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/LPEOadSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e473006da06c453e34a9d7a908477dbc8499e4f973bc04bbf2a9fa3ac23cf6c7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/EidSpecificSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9073235b77a7d4f1e453130fad8c0d0acaa825df3a321d6af3e1425fc8fc5f76"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/SpectraSection.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6d581194142322bd2b471161f2b9ba5769952a8eeff3809e7860c5b36234b542"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/MzGrouping.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"59ccc73ec7452f5414a1dc3c870438ffd4e4395b9173c770c1c247904908f518"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/vendors/ProteoWizard.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"666e04e3c711ba2da4499da3d29d24ad158ba37436f748ecd0c69d889c706f18"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ChainGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ef74fba684459badc6f468258dec4494d0f4aa246ee18760e7369f7fc2676ea"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CEd7SpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f24ce70d2b13c27742cc1dd32304904df2dee2c630fda33aca517830ee97940"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/MetaDNA_visual/GraphAlgorithm.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ba30cab4a37cac27becadb5fdaa97b208039d2e7dc431accc5960f4d7ba2a99"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/FFT/FFTBase.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"23881e9d7430db75e5da8de54ef2abf269bca176ae4b3a2926097e51c915e356"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/PixelsSampler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8cad5d26c430746c04810f3b5f6bc3764ea12bcf2efc9bb2a27bb6ce0f2ecdb2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CESpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c0a1ba91941082988b7c7f211239cf9e7593fc246702f9e7ceff985643131060"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/AnnotationPack/AnnotationPack.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ec233cf853eaf17d7b03ce4a1a048b1c8fdd87cb4a77196633cf6be15698064c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/Tree/MSScoreGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb0d99a4976a7183e76c102c0d7cba4dfb068ab944436c79fedd336f12e7698b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidParser/FacadeLipidParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"75b179e19f1a36c652609ecae65a1d034c7b69bc773d2211a58bb63dc9b4714c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/math/InChITool.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea144c0f7350dbdd0ce6405dcc8c0bf10fdf8b37363e6649703794646e6e454c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/Tree/Networking.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3cc420ec6bb453a3ac962c64b7d0ba7402ae566fb2cf04095d7036ef3e1edb92"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/EidLipidsSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"94104088c3ca56025c33d76c2b151a49d4521ed06942dbf340b14e1c153e4d0c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Alignment/AlignmentProvider.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f95993fcb2ec652ed028e74e910477a2aeed8c1277f2058d999a7f1905f68c1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/LabelParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3da6a654fd6c08b6741a4ca8e5f37e33399567592a076ddedb88da7576750d95"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MetabolomeXchange/CLI/Program.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2aea052d1ca47ad986b7b8b6bf5dbc82a74a728cbf8712e92ebf9d66fa1a374b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Metadata.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"01dc9b5bdc130c0dc3b1db1357b4c20a3fd94e50b8c4a35f7b9ea8715eb7cf88"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/Binary/Serialization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d1e413ba5470fc97cc7bbf9e6ba486696d32a0d46093dc529032c162856c3624"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiCheckStatus.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"94f19c24df5773e94cf86b2b76103f92de107f916b78d160f247a42c45ad0a19"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Analysis/SpatialIonStats.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0cf2dcc718568aed8ec05e12ec8d07c6aa7456e703e2a91909bb4f0a950b510f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/MS/Parser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ed30cabcafb9789499455225277df6270efd4616711178af47f6fe74d6e5e1c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/OadDefaultSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"279f307f34785175e9d15375edfa93d34458c8ddace5d9b900a1cd80b65b3c04"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Tree/InternalFileSystem.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"02ef4ff9488cff810fd4ef2e1749a13e0c05f43580e5dc33723095485473794b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/SCiLSLab/PackFile.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a57dc61650d4e8c855edff343d495e50002f8b62b433c7ca9827b0a89d6d50e4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/CARSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ec7026b2d2ff61c1e4f38bb2fb071811b654d2216bb9620d147c3d20323aba2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/Stream/ScanMS1.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4ebeac3974ebbaf0b6a861e3457db8739bd884c203b169ef7c54aec07cf83ae"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/DeviceInfo.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"37c0279abc9edc96eb6dae4ed85681c5a4c09f94aafff1c43165c0728420703d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Tree/ReferenceTree.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0df49fcbc3ae03fbadd0b02dadb48f44ba182739c81a1666e0e68d6ab0df9a88"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/MRM/IonLibrary.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9df9819911c87da4f7272a4f70a7eaa76d20cafc1fa31976944fe1771b265ab"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/SDF/Struct/Atom.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f5836eb7c73d56577e21db5fd8478ade845f26be0def18f07b270dee72237302"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Layer/LayerHelpers.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2906f481bcb91662fbf1bd71a768f0c14a5167a1eb6b13f295436e2da851200"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzDIA/LCLipidomics.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"148e0f08936a503ff8ac22ef154268555f345e7699a027ebb3d5f84f90fddad1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SingleCells/Matrix/Math/DoStatMatrix.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"723e237bb8864c2485bf1f22ec138874ef40aaae85023daccda3642e8f9c7b41"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/Stream/PackCDF.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b3de770c63e0bee063a825d77f158f70728e97d7331b79eade1943a876071368"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mz/Pipeline/mzplot.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1688ff49b6e62771ce13238d6d566ad1f877aa07c13e8698362b5eddf1a6480"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/RamanSpectroscopy/read_WDF.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c16889d0764801dcff036689457dcde062efdc75916ecb3417fe963dac03381"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/TGOadSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ae1d57993a1a7480f8484977b060343253325bbd3479a92edc0548ba933fb9c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/DMEDFASpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e29ae0980024da26c956b53974fe772547259a97a06aba9fdd1fc361d7d02f71"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/LorentzGausApodizatior.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6cb37df79917147fe113a825d72ef3e8f8fd72f1087781e04beca77c5eb3d0ee"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/Assembly/taxonomy.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f9b4fb6eb24655d3bcb96475da9a127d356d582a3aaaf476aed582f5fabd4913"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SingleCells/File/MatrixWriter/MatrixWriter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"529f53a1bed5c503811c99742ec5e3c5c74591e80483e6097139fcb3f5efd8cd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/IDoubleBond.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a567f33e2a4fdf1f63272db668c3a13abb33024599dd6e75ee9873005e0149ad"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/UVsignalPlot.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"00db03b618d1b93d52ec71253e05ef43e19205532d1f4394331f3a013e3b0a0f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/Linear/SampleWorker.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a763e966b29a3287c993d6c7c643b0d220fdbd77e35649555cb151920ced018e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/PrecursorAnnotation/FeatureSearchHandler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e65a1dc93d8b95c8c85e6c4b0c58347623c6947b8cf03467cf837a367ebeab87"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/QuantizationThreshold.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f0631a96fcf49c17f90d738b31bf1b9346bb04b659bf9b00ea21965fa705bbb"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Tree/BlockNode.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce8fd44326144f833747e49db80f6b8db340b4a0f4496c28ecb2ffbf1ee356b3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/nmrML/acquisition.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"82fd7b6d473e11c5cb18dc5bce4e9b357840417ab0a337f4c105a4a26e8d2495"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Utils.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c779b3078d8011b4cbf45b26fa8aff6885a1f1dd1a624251863dc7ab573ac9ee"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/XcmsSamplePeak.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe08cf3c14b937f120e22eecb96cdd3b1576936289f07646cf0b78a88550f8e1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Lipid/LipidName.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"86d3dcc3007eddf3da3173551d176bca46d3ed8e52ee2d852f33fab94e1daba1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeDistribution.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c1e2de263f6612da235f5d774743b3a9a151efdb679508943f17fe179f19448"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidSearchMapper.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e2737a9fce7d0deec14ef185aa62b9f61f54f29c1aaa260283dd7555ff9e9c01"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiKeyCheckStatus.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6695c1318defe7f52914c7e43e2a18f1ea2261c1b4ae5381d350112128c13011"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/FormulaSearch.Extensions/AnthocyaninValidator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"486970fcb2ba78903396810aad72534959118b717b3738cdf7ef16dea0ac47cc"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e27be78888cf4b0f799bf62c0e7d63058d665d3c468c383ac417f0dad3032c81"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/SDF/SDF.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a45eae85524eaccb53dbae29d5a6b61748da82f8a62a7aa79d3960ef2c44a90"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ChainVisitor.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"92a3e1e9cad871f4da2d07cc0e71d547badf6f7b53e9711413f9335e1d14f93c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/MsImaging/ScanTimeCorrection.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ffe7f07ae3609186ef493e6c7f5ed5e92958481e249004ae03893e239c1a530"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/MzPool.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c0aa1200841c9d12bd72c8c3d2e13df17dd1da1c6aff6eeedeaf28efeeff7c3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/lipidMAPS/MapsHelper.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"46939bdddea85a30ce7815a5edc4f5bcd1b5a37a3ccf349168b266d0799d3d25"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/ZAssembler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"83688071ffc3b519f45206ba1bca34794b97015110ef8acf527eabd8fc92e821"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/MeSH/KnowledgeBackground.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"563df13f5d9af847722110a821379d22a91c97bf13fcf1a52187fa44e1cb4162"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Result/MetaDNAResult.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8dc8f620f171b09c8ee8fb5f214feecfafc684ea8e7682b940032390d3f2c810"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/Scoring.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a94090b11ec216e139f7f43e56eb46924fcdaf061d64cedd26a99385462dec78"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/Calculator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4406ca8b224390183a360d3dde553d8129b6686b89db85d9bc2534a028dcc2c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsScanMatchResult.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ebbabfa699457ad501a0ebab7cd400dc801e9cd0a0232166cf47696b1d1444e1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/AminoAcid.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5820ede396d860714a74c6e133e156fb6236bceeda9b542053ae55e9228db43c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/Massbank/DATA/Record.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe3752ec0b34f6a849cb1be04e59ab4162327df55f2302799939c2c8abdf821f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Reader/PixelScan/ibdPixel.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"563aca33fa77f315469ee7ebb66cc96276a8e6cc010a88a25219ba4dafc8dc5f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/Tree/NetworkingTree.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4457e2bbec1fa066bf497107b3027fae3477f51e05c367f3f7dca2e90786ed61"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/FooDB/StoredProcedure.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c3d4c26228436dda2ba56d8727b6791ceee166c3925cfa799b314ec3251351c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/ASCII/MSL/MSLIon.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4158c6651765d160782442450ebd9bc2a3262c88229ec8ec82e3a183a14c3c82"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiBondType.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e1488fe12ae52b0c8f42f95791d84866c9865d50f0b4753a3ac56d79cf51cac"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Save/SaveSample.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"800ff2b7e168c31dbd60f56af0cc517229ab80f1b9c4e4e34f6e84c102519ed0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/MsImaging/Udp/UDPPrj.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f8082195312fb5a300711a70d7a26d7ea5f756361761c2e69899545a7d2a963"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzXML/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d52215aebe36d292bf261647fdb18bf0cc513e000ebe9a8c9ab615c84e26714"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/XMass/Xml/AnalysisMethod.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"609bca62b82cf55addd1dcfffbb20fa3cda5614ddbfd668c438003fd3d2755b8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MolecularSpeciesLevelChains.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"601ef3e6a976ab08ad7a275343f13c339fd4ea3ff6bed6504c300e1af9646a9c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiStereoParity.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b6c52f008897e77177dea84c1852f9fe47a953ec8c919e7ae173eed59d3b4da4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/PeakTablePlot.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"70be2c30de6e7211448b40caaba6d878387b8b3278231f56ca2f19329fe35f85"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/PrecursorType/Formula/Negative.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ba77231ae9ed7d8cb6f97b49f6595844df0356846ee75da2f0d88eefd018f44"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/MsImaging/Converter/imzMLConvertor.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"35a0c827e7bdf5ff8e7169750ae6c502b13c13e9d848699b7cff3a5a6ac8e07b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/Layout2D.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d4aca7e1a72262b9c3b3fc715811cda1c59750d94f4d050d25e1ca6abf3af60"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ChainsIndeterminateState.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9804f19cff25a14263fbb4792f77bf26f46b1dc3c5acc19cbdfd77efb251c020"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LbmClass.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6935b054f4428de4f39a35f2b7e141d1617f22f42bf13aeeb126e16d40c6a71c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPackExtensions/ToCDFWriter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b77f379e89974ae012ca54659ba364aa28c4f83f6fb3258d4a7af0588509358"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/LoadR.NET5/ChromatogramOverlap.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d475152ff17e8a4367b598897d52439b61450d5545f9a8bc5b8b52b2388fc429"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/GCMS/GCMSDeconv.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9188a6fb777cb3464877ae04274286a036b32caf57bb34344a78aa1d3e7e92b5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/ASCII/MGF/MetaData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a27225835f7450db682c16e049aac3be28b8fadbbe24479f228a2c823d942432"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPackExtensions/MRM.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"54b5429a319408fbe77826fe7f2f4a15d68d95079590d698d88196fa1afc1288"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/MsImaging/PeakMatrix.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"17528998389c4063cfda9bff9d1881250effeb65dc06558896d67d4cbd728bcc"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeProperty.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a4e9c1bbae21e32365c8f27793ccdc5d410cf88d96698e6bfafcd91dcc6a5be"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7999c094925102b627bdb461ec412611da8fc31abbda72db45df342c75833ae4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/MoleculeNetworking/NetworkingNode.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"01c90fe270e2f0c9feaaf3817a15945ff658fc461daceca948e2d06c891111d5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidParser/CeramideLipidParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"216c1a7326f6715d54b91769335343d8e28e6fe6f969f4ec2a68245d9a0d84a3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Plot/RGBMSIPlot.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8bc4bf4e2b1030f2fc823e5998a3c48b3b91c048de096268803d1935d5d9d26"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/XML/XML.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a7de9125e9b359008a2ac70efdad7e49786358d1782a4cf21d2d1b07ac665c4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/MetaData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"edac7752403ceff5a4513a8c0266b2fa0553b97b205ea0e21c83dca9704291be"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Models/Trimming/LowAbundanceTrimming.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d837eaa4e11a24a3e3b5aab819f149b6ddda4653eafc8d4ba6a7cb4f6e9c13e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/Stream/MSScan.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"89489de40833566de20308c2e6abf3efad167075fcd1e2b9cee10b7e09d0fbfd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/RamanSpectroscopy.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"cfe8cd487dd5e3d7a3520ed2a9e6f1d2da77dbaf1e708e5593e6d621ce784856"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/AbstractApodizator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ece96f252690193eb648315f370d3dd558a4d182caf5f3d162072ca72420c77"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/Raw/FourierTransform.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1ae702c0710bf8320e8774955b49e9d1e1346b63dd2b169e71268006353db93"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiStereoType.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ef7e5d02914dcdf2efb5758cd0bdb0a600480bda2f1edbc05f662d45ba3579a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SingleCells/Matrix/Math/DoStatPack.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"44fcc012467ce9217785fb6df566a4e0a330f26294f9125652726307fed73312"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/AnnotationPack/AnnotationResult.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"20c1fe9fba53023e0aa45ddf58777a3d484bf7c7997d54c71afe045c440ae7e4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Statistics.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa80113563e216c8cae9dab383e9cb6a5587cdcd9011dc640fabccf7144abd39"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiRadical.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb665fa9d7c304909371e07a4bf9f5e88359f16e219114ce55ee2d62959c5ab2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/SCiLSLab/ImportsUtils.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7bd1b414cc69a05d40eb385e7ddacee8bee5c73ff89fe165ceacb5c9180b4537"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/MetaLib/NameRanks/RankingRule.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f3aa163722050255643719e742486315d7cfb29bc0a028ebc5ebf211ca160a5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/FormalCharge.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3501f76e5393b41653fd7f865c8689ab76f0a210b6db055a885bf7d0e2a9bea0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Chromatogram/ChromatogramSerial.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6aaa239611078f923a6c1339efbb0863e983f7c529e426ace7f7479131a5977a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/ASCII/Raman/FileReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"52b34f1309997fc2b3e58f4d0c3f00f4c468a35d164f6cc6968445c0f9f1479b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/ASCII/MSP/MspData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ad45888d99854fe9fb254f775bc83f13556d4c1543dda0507710dae026dc57e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Models/PeakList.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7090c4c8c5bc72cdf2e69380b1c1963c919e885652c59b1344d67e332ee13c3d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/QuantifyAnalysis/ReferenceLibrary.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"789b4e50a522eaf25b00bce914f1fcfdaee8e5d57f28a431f7e1b1a12fe21bcf"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/SDF/Struct/Mol.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"44a7948ab8ae6c32b3c81393b2dbc0135e9a5346fd734c2f33befc13c6bae406"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/MRM/Data/RTAlignmentProcessor.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c2ada0c5d0e91776182883e10bc5e84adc09c67ae86dec7b84e597bdde357cf"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Query/ClusterHit.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0937b200750e0932d8b500277a99708360d0fa64fa3e97c5e96f913d4d726413"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/GCxGC/D2Chromatogram.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"dbbe789109a986e43afeb00fbc7e10722532fe24efa60b1b1c7d1e995247d025"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/ThermoReaderOptions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"219ee62e55ca76979413597253d2f1c8c3695a287da47a60423414e337645185"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/v1.0/v1MemoryLoader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"851f27af901fc90fa17e1e3d5c5c54d66e595f5368f8f2f1ca4acaf7bd963430"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Models/SpectrumPeak.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c760963733125e42db8828bc1a742a089724a85335d5618c34be5332c1a69e5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/Raw.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e18e6894fba31caa8d7f55a0ec51cca38f57b6c6462eede335fa23587e9a420a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/annotations/foodb.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7cf4394ad78e9509aa27cb9513aacbda34f96caf0dca8703a8650ae7f7fef8d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Models/Networking/CompoundSolver.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a806a2c0ef74d2e18751196a3063075efa12e1590436ad8bd16a17ded14c366"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/Peptide.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0c18d9765e082c666f24ba341b802798ee7bb4d5e816f3dc228b0ea0672a077"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/Metadata/SchemaMapper.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d2078ffd2b6e467202ccfbc25f05aa75ec83330aa142442945850feab1ae8e6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/lipidMAPS/BackgroundModel.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"945559dc7a705777c12cbbcd78e562171a94b2fa9e43f88a5909a1ae6c6ad44a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/nmrML/nmrML.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b7344afca29eea08a4f8ccc168fc9a531a3ab246417a7d0ff3523c54bd91b669"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/ASCII/MGF/Ions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7174fbd032b2fdb161565f9d10e8dd65dfdb0744dd0f4219881157ade0d8631f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Reader/PixelScan/PixelScan.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"aeb27dac10853ed871e8cfd5a317b89389caa0bcb77ddc5c44b5321c82ff7ccf"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/MRM/QuantitativeAnalysis/ScanOfTPA.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4541735f55105bbd9a8a71f96d272b0b2bebd64bd8a5d7969c3906d6364252e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/VBA/MassDefault.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f5d09cfb5532770eb6883882d0569a43c076a3f4af8794654e1912fd6bf59075"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/SingleCells/PackSingleCellsRaw.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0d3f6744fd21df7cfa09b1658b39216b3c2264178fdd59603daf8ec6ef9064c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/XrefEngine/ChemOntClassify.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"47cab53522bf1db4fd7fd37bcbd22b6abf67d250a6e0381838f5340a0977112c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Splash/AbstractSpectrum.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0bd73a9fdd311cc86a108030987947f66fe3b52f75f1e0940de1f2b5535700b0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/lipidMAPS/LipidMapsCategory.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc51668f70fe8de2d80ecd2c8668122163894e6925fed78212deabb76a11ba73"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Spectrum.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e770f4ca05285a34ec5031ce56bfdfdfe56dd543a6409cd43f1e3b893b0c08a2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/Stream/ScanMS2.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5843abf2a6aa6ec9b0f45da8bdddcaaa2ebfb964e41552cb7f2889629769f427"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Layers.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4bd8c524d18cf90ddd2e7118ed1be27cfdc2341dbc1334ab41c736842039b2b4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/QuantifyIon.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f0109cbf09a146ee3a70f7d6be34b757a080edadade416f3de83afc2a69e5c4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/Query/QueryPathways.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f94312b0e691aa51c9f1157cc175272ec259813997640998c0abf7581d278dd3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Models/ElementsExactMass.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2e61ed87c4de22a47e8925e5fd613679b7f28ade8386c46a09f63e2e5a296949"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Scaler/RasterPipeline.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6125f629df20a9044758b02d14a155aa6d2a7da99dff1656b86d6de7162a777c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/KNApSAcK/Web/InformationQuery.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f9fc28a1d70f89bb8eeb4ffed6c461066e5161c65c9a95676830d9cfb34ab3fb"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Metabolite/CrossReference/Validation.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"622db9dc613c2cc69bf1d0149dd660b5754ab515be7a0f835b1a44cea925af6b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SingleCells/Matrix/Math/MathExtensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"952b630f110f61be8229862dc2bc4e859b503ef1c4910001e96c873d02acd1b8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/MoleculeNetworking/ProtocolPipeline.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f5056e6595f8549853a24c07dfe1b8159ae12708f3eeedec03300b9e5f972471"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/mzWebCache/Cache.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"79c7952f92acf8d56ed89c17b86926eb383faa0f1fc7f70aa129a20d06b867f1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Reader/ReadIbd.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"13b38fc200fa3e625ede557ae700cc99b02e7851b221f9abb7f9436a0c071e42"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/Assembly/property.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"44caaf40ac207f2370cc7481071a3dee4f7019ca567aad063603084df23decf4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/ImageFly.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"de346a14fd95fac5fa05b4094df531b26a26942d583863c9342cbbd839e4a2e2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/MS_Peak/TheoreticalDigestMass.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c89f3c84346ea4a61f2af1fbb0901eae89f600af80b3500957c57710487218c3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/Models/InformationSection.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7df46c801d5bddb0d8335740d143df805d5f8e6172916769fb0831018d159b1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Scaler/SoftenScaler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"dbc7ed52a97cf586db18a48aacc6408e35235108327dabbbfb7cee802c0ad2ba"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/FeatureRegions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"22ffbb7c48c080abc4675e3ca3e7c4b978d460686744af0a714562eeae0fbf51"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/IOxidized.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"cb2d633c78a575852e6fa7c09af73111779e708b723f51c879be2c6b8ea56a19"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ChainParser/AlkylChainParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d80f43d3ff4f25682fd87665bfb917ae7aa4cdd0144b89f30f21eb011145dc7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/FormulaSearch.Extensions/PrecursorIonSearch.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e3169ab3c0e7dbba83042e312e17272be0f1b565d03d10a40ab155c99dcf871"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/FFT/FastFourierTransform1D.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d1d47fb0bf4f878947e1136b0a830726b19434eb270795b53503fcdc0170de6c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/TissueMorphology/Scatter/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"83c0bd99e0d956b1b3fc2b74fd0a4f517024c1a15b1e023016281fcb5550be83"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/TissueMorphology/SpatialMapping/SpatialMapping.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e4bf1788677e6985d9f9db2a37539db4b5d94c7b4ab7903be8907e9e24720099"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/MS_Peak/Match.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4468f4156c860208e3922c6ce8c50c52f06544689f90e03787ba9a51fa97846a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/IDoubleBondInfo.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e53c5798f21107cf3d9159a435b4a246d3fb0f51acb1aa4220bfd4559c9a09c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/MsImaging/Shimadzu.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"22f022d594f3a0c98629b4f4b85d24bb7256241b2837de82181f3b3374ce4e51"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/Ms1FeatureExtensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c802f01d908855a193250c161d5352dd0c63085ad06a64883a432530bb3dd74"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/MsImaging/MergeSliders/MergeFakeSTImagingSliders.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"cb81443acef0bf9cdabab18df5007754e7a9536d3c812671bdb95af8e96e3610"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Reader/PixelScan/InMemoryPixel.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"425275e072245dffc1d260045ce1942099661e8ebe61c1eed5f0cea294fa1800"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidParser/HexCerLipidParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"aaf15f5423cc5d85615662ce70775631d7331764afb7185b7c75917cfa170ad8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Reader/Simple1DFidReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"83589f448e26024686e4aa4f921f916ba366afcda3319aeaef540fca8344ad44"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/XML/ScanData/PixelScanIntensity.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"db8daf678372b4b19faec7ae58ca3b131789735c67006972ef21e3e807d17252"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Models/Xml/SSM2MatrixFragment.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c2a8906ce58536bd7ca05f93b64ffd9a75008f981631d37fd380946c838f032"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/EidDefaultCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e31c3d6bc32cb782a2b7c660f8041952ef4d0ec61b78762328d6780ffdb7b81c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Pack/Compression.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"af53427132fae650090198f59aa7f678a3cad8aa4d0831b0a4778e941a06f9cd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/LinearPack/LinearPack.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"49a261427608121cdd0dbec7d416bb815d486e67c9be495b9911ba72d05d2935"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ShorthandNotationDirector.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"49c95143bee7bf642d0d3d4e58c0b8a4f92b9d21e72e49f717685e98c1c32565"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/phasing/SimplePhaseCorrector.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ed956ee006cc2d3ad1d76a8f05029abfc5a9a4ac69439f7f6dcf35424be6681"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/ModificationProtocol.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"16477ae25179ebab8fe060b90b60fa02379112e9303507eee47c578656fe15f5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Renderer/RenderCMYK.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8049ce8430b0844bd32d0d8a271a4903d15d335d5e9fbe253be81b77c32c095b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Alignment/CosAlignment.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0b59fa0b35a27ae874af2a31ae943aec4ea49d603771e593abaf173833a40a3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/MzQuery.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0bb2adea20588c36db0de9a06ac76222a27bf5455ac24a76c1da4faba146124c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/TissueMorphology/HEMap/HeatMapAnalysis/HeatMapLayer.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7837c0931348b2321257e053a89a881c50bb2f5c11035c24b3eefb6c8c1987ba"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopeCount.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"27b055bf75edee4804cdb9a597f4e55170b2b4f052a65d100da5696044743b71"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/Raw/GlobalParameters.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"26b276ff666ad3ae4013a8a4a40ce09b07ec1e8125de3f07b38a6da2a1381bae"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/UnifyReader/ChromatogramBuffer.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b459d909dfd4cd3c12294026023958c795ed9a94d2b3389844fbf860a28f575"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/zzz.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d181ba7b276aa558828c376093ef7c7526e1ac8b9bd494bb085f16a37e36ff33"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Models/Networking/OntologyTree.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b4efc76df7961aa0a2b2805dc83d004f1ce56a35cedbd7c70ac670b3a5e1e96"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/PeptideMsReference.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"29b61e26df91093d237ed15bc18e6b3ea5026132a7a8492ec3ad2b4a0cd2c059"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/MetaReference/BioSamples.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3263ea6e48fe5329338ed302b38af5048bf2c311afb725e826d78e2f79b0fba"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/XML/Components.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"dbfd9bc5793ebe7b5e6473ac74adc7ce64fba981154f9596079d13fd9b580f3c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/GCxGC/Demodulate2Dimension.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"36bcb777b877ddb0766705193c3edc63fcad8904f65ea233d47fb55da135e208"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGeneratorUtility.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"cca8dfe1da92df325288fd85fe22e3980f260c78d771d3cd6aeba81463962d6d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Search/MsRefSearchParameterBase.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"45de98fc561b211ec62112437ac3ea6d97f8daeefd58020143d5f8c5833a0e75"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Layer/LayerFile.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3ca6697e413235c6ae39a58a8798cfc62b5ffb99033e7b35825979400a83437"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/TissueMorphology/Scatter/LayerRender.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4661a0d474e9f411a7b898c6dbb0f514ee92185e602ae826e00a127308baefd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_simulator/Bond.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"04327600d33da80defec5c70c1cade3f46e977ebe4151cd8cad97c135097d9d7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Lipid/LipidClassAbbreviation.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c813ff30d59d6b44ad9d865509afceba87519904b79c9979d897302840393cf"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/MetaLib/Match/ExactMassSearch.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ab8a13546b2dd9a16b6334ccc59531a3cc0ef56417ee90b6f2c363c28844de6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/TissueMorphology/Scatter/TissueRegion.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e4b72b46ce303ebe9196f4093a7a0f3d04e64be31799c63b393a803e2cec274"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Models/FormulaComposition.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d5420c89efa4c26092f288981e26a7678546138dc8b96258d62da8b22268fdd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/SpectraInfo.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"168cf3a4b043615faa5bf07e5ac9bb6e3c5d4a5e89259c38449e75ad305ffcef"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/UnifyReader/Provider.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ca681e1d3b4ed4fd58163baa26aa90aea9e6889b6b7f8a1ca21a2b46b64a5e7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumPool/MetadataPool/Metadata.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"694648f32ad687ad64a0be6cd3a8f87d0d67626db8833a96c007f7b3435d5740"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/XML/index.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"977922169eaa215bc0b7632330f2c9e7ff8992966f618a647426abdd7af0f10f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ChainParser/SphingoChainParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a837a22acd5e546728ef7fa4daa09736ceb57f2f67cddb4f874acac6bfcf151"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/CheckInSourceFragments.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e16b740a94fb909043451ca1b3c1a7fcf26e7d565785c355acfbfdfc699d5b5f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/MZWork/SaveArchive.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"966510016acccf31f67cc08ebd9dbd1cf529158adc078fe75a7d176e9c71be6d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Alignment/JaccardAlignment.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"db0e0e96ef432e41534b313e0004ed061cd6fe0b9ab004b7399236be89dd550b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/Tree/GraphTree.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5c250deb5e977fbb89539d8a9a18d0465ff625c215920fab47c01fe2e55eb4d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/LoadR.NET5/NativeRData/ReadXcmsRData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b7b0d601115f48948154991082878add895fd5c697fe3a78328cd9526ca311df"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/SpectrumTree/SpectrumCluster.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e3292d2f836bbb1b46cea4d8c34a20ffdce3c9b30b2ffd1be51dd8b259d28b67"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/CDFReader/agilentGCMSMeta.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"41bb17eca6457a809c7132e84b276df302188236e3ca36c61871c4fcedec94ac"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Analysis/MatrixExports.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d442fca7432838b3f26134cd2192e3dfe631c4f100d40e19e243c907efb8146"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/Tree/PlotMNHist.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"85a9dfa6fa725a02cdf6d1925eeb9698ac0844d2aedafcc0b7422d1de8934719"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/MetaLib/NameRanks/NameRanking.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ee1a3da1af564791c0e7a179c80678d218a844145b5c26672715bbd7f364472"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/OligonucleotideComposition/OligonucleotideCompositionOutput.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6cb508d609635db0b6d7c58e760ed412f723c2e39a2c76bbb76fd7281c0f79f5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/KNApSAcK/Data/InformationTable.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f974e4ab91ec6438d57dbb235e0d8eb24daca3cb95706bf173c94001edd73a9"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/IndexedCache/XIC.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"dd9073e62eebcd8d3738edcf9bbdd936812fdd1ceba313137b57a9e815b9e0c5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/XrefEngine/FillClass.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e4d942ce7fab727c63128aaa60a6d948d8a9525ba8828c75bf0aabdaf4abb68"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/MsImaging/Converter/ConvertSingleScan.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea410fb34f2cf10e4203c9a6e742f452485b7670f4a1f5397ed8fffdf2820597"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/ReaderViews.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"108fc3252c1b63db9574433ebb0452bea44ad16efc0813931013ad0999313398"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/MassSearchIndex.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a467654d8c909172bea705bfbdd39bba612a00643b281c4b75a42a72a48941c8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/mzMLReader/mzMLReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d516a3075615994cfd618be5c0a98e45cbfbee8f8da94c20f8c5301493e563b1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Renderer/RGBConfigs.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"29ed3cacccdc67956e1d2566cb4ab9207804a5598515e0d1440c6d2f619f2cdc"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/MetaLib/Match/NameEquality.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c5e2401fb3d74321b9d77b5c9ac82aa23333c8ea11222bf0e681c39f8aef984"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/XmlParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"25004ef94feb75910f1664f8da8c6113ae2fa04526c5cab0d217a3250b5de06d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/Query/ExtensionModels/ReactionGraph.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3f0641ef1b768b734b60e61108b08f4ac27af535d7802f89262b6f22402b730"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/CASDetails.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0019c88443e30776f3f678eb0694e98c04b6ddb552500da88dde9ffdbf572a2c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/ms1_scan.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e463ecc411c4ab1110c86bb7088a61a29c96333532e44cf9c53218c7e6f6591"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/Massbank/PeakDataHelper.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"538c4b737b4d3b0543521ed565c8906efb037f0dde0e8f34e59a5826ee5ea373"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidParser/CLLipidParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3790eb11dafe3f1793431e5503712f5e2f4e9003daa08a6c8908c39b68133dde"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/AbbrevStatsType.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c78757a3764256b154678b979a9ebb86da09462f7eee4602e15ef0bc040cae4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/SineApodizator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fda7a2b16cc46e3bab1f69902f76afce69f7e15b0b217fdcd613a7cc25ed776e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/SineSquaredApodizator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6bc24e7fccf73374e014a407faf4cd3709e154185947d3514aba5619ecaa9ff1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Tree/NodeBuffer.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0eda2e04d7ca7d493e241c49900093594b387e5508c724ce2781cba38994fd2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidClassDictionary.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4bdb02d6f62be2f2f6acef45db8b2a23b48806e695d7fcb387e8fef823179f68"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/HmdbConvertor.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5833b986e96622dcd659d1044dd0166eae4c67bffe2ca5dddce6b13ce6ddd02d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/MRM/QuantitativeAnalysis/QuantificationWorker.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9cc7264ab773e9ca5a256e0ff89982ff19c5f386b282d90f70650995f0db1df9"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/GaussianApodizator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3b54f7f9d09568f417d45c8804d4ee7e10a9546b3c460617356747a43c5afd3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/Query/MetadataConvertor.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d1b7cba9dc07538be512c2dad2c6f39e0feef6bb755860321dbe751cc8e3782"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/MS/NeutralLoss.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7b3569adb2bd31906efc84fa6b2c4528649fc0f5a2688fbd5c41a9c7ec4fbc3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/SIDMap.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3cec07e1be62cbb8f1fabde5c0308c09ee6bec1f994a3cebda07aab505a2ff8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/AnnotationPack/ReadPack.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"cecc6f47e31131f2a59fe13c24c93ce1c5e742b33319d9fce1cdb702c94c20d8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/CDFReader/Vendors/agilentGCMS.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"696b1de0fed287635983c9b5d1dc4a0061be56aff31f05c25f904685dd4149a2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Reader/ReadPixelPack.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4c5cdc3f70e78363f06334db6d4dbbf98d5b5aa36a9f523f753329833a4a880"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Chromatogram/ChromatogramTick.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0753bedefc4e5c808bf6d930c76abb11228ac8b9065ae586c3e131d0e37d38ba"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Lipid/Chain.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9b0a0f48de2fd001dd5699eaa8e5959634f95dc06c22fb0e16c0c9bb048be5e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Fid.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b3e82796dec1dd23b8000f05b665f7d616120903600af7fd6384d9a297f7ce0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/IndexEmit.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0eb0a3b4cb4399b845fbe18e12d65f64dc6945d2186aa70287640e17278668d8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/GCxGC/GCxGCPeakDetection.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a603244786973971c3f7d82b87840488ee74fffc34d5ade24f308450b8647473"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/OadDefaultCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8b28eb794cefa78745a5dbfb3ebf48c90f0d8832dae37707ebd20576f807aab"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPackExtensions/VendorStream/VendorStreamLoader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"05adbec17ac1cc6f892db2dc0a585ab9950eeb9a23612fb64cbc9f4ba8c12567"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/DerivatizationFormula.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"84857ab01c5b44cdb0d800f367b226b69b6625d0573bd2e8b9ab1ac291578c73"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/PositionLevelChains.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"68fb06bf9bf250f69aad5d02f14bffca7554723a80a01311ee14c957f1cd66f9"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SingleCells/SingleCellIonStat.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d390aab37e8398106161f0867badc36ac57dd2dfc8cc0b65948258a1fe2e5912"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/TissueMorphology/HEMap/HeatMapAnalysis/Cell.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d47d6cd680f48ab5f2d096a4c0ecb9c3a9e26edaacd763369fca704c1e944203"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/LoadR.NET5/NativeRData/LoadR.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"80e029faa58d5321444079a9edb0f4ac0e37441e5b7d7b86bbc61f854232f91f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Concentration/Units.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"867e03733c9c2ae5fd3dfaa565109b09119be9d9dfb06898b8fadd944abcc205"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/DataObjects/ParentIonInfoType.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c070a0b231fdee3db997246adb6165f5887472d564b7e09f2add56d69961cd6b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/Peaktable.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c0a6303faa3ea74897c98039b9f82f586c66c45754f55cf4786bb67ad336789"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/MemoryReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b35b9eacb43bac8454d15ac001af28871f54f53fab119f09f8378d8921aa83d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/GCxGC/Data.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6363aaa78437f6ffdece1d39223be97f4de3bdf6f8e8cd857d8d1557b98f82b7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Lipid/BondPosition.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0fd53f944e23569da5ea1cb080d228f07afcdc23df06002f62454d73f526cdd7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/Models/Standards.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0f418550dc3b454d1f39946e82d3591aee243c038bf3acad79b6ed211e99664"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/Chromatogram/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"82ab035fa8d5a1812f9e84eb957d55239ee65a5bb9af2c08019cf83e0ac22a0a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/MsImaging/ScanMs2Correction.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"441000f9f0616236f6ed1adf44ee6d704917e50e5f8554b834fe54d94e713090"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/UnifyReader/FileFormats/imzMLScan.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1078eb1f3a34497a1f648402e754cd09580f1d1184036579888ecaefcf4e4daf"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzXML/Info.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7501aae0c4de8c9d6076c8cde3fe4cdcbd4522dcee359ffa682c4ad32e1395f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/Tolerance/DeltaMass.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d7e904049c7dc848da28760f692a906b109f13ef95834ce0091ea95c234db621"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/ASCII/MSN/MsnList.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b271d3a3b78472b532f73a9e5d2b983543dc8224ee068c82562f84c1437cb9b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/nmrML/FIDByteFormats.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"eda31e3146b16a7d72bdc07a91bb231321ce5932916d68bec24151345b10a239"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/GCxGC/GCMSPeak1D.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"70e791042686fa7a6e7f198024b80ddfb7858e66a4ac090fda3399f289af1d6a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/nmrML/spectrum1D.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"eeda1984cc6368c34e1dba755a1696a6b1ffa5c40ac46e38dea95b59c2a554d3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/NLPEmbedding/SpecEmbedding.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"804e39672b0eef162aa71eef2083d5acbf47b504971556e68376bb92de0abc00"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiInputFromInchiOutput.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d256eebfdbbd08d92e3fa60984afaacb8d15e91275e1441b1377740d188d22a6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ChainParser/AcylChainParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"86f29c2504a326f4d98842d901ab18dda512295f6d5565abccdcc5f0ec793418"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/AnnotationPack/SavePack.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e176f80525d4c87c8e7794071e6901d0d97e01fabaa825fa5ba7ef9290f29f26"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Renderer/RenderRGB.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a1fe2459941470f5584b7475379a85728d07bc85eeb5659f7e44f95ebcc7cd1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Pack/MgfPack.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc343a25f22bc85ab04ded517062ed49ea755892cfe307e16652371d06df63e5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MetabolomeXchange/Json/DataSet.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b7f48bb7f808629d78af58ca54624a5c562e3b12e95a6763b5f4b87cad5e668"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/QuantifyAnalysis/ScanIonExtract.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8d71c8cc7d300ce388133eabf78c00546b307d34da546e353009253f57f807a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/EidDefaultSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"50f3e2065e4594ab7d9569a47b7ab140fdec7cb2a8f0b1fe4fa8da4a8095df40"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/TissueMorphology/SpatialMapping/SpotMap.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee77998d15ede475bac1a5fd3b5291e6e0ab2f502afb778008b2ddab421a6d54"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiInput.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"05d11ec11c5cedbf77a00f48022275c18828ee334641fa2da0f37d183a1cc2b3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/TissueMorphology/HEMap/HeatMapAnalysis/[Object].vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"388bb43bff3de548cd132c349c8710520a22754d65141058b72360fe30d0798e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/Linear/Points/ReferencePoint.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0045ea25541cf469fd41012e9da3b6c51acacc34a6e14be9978af72b7092958"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidConverterBuilder.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc28f5c5f4851b4e62b68c025ce30ed3f79e0285e89339e6237b1f142cd22e8a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SingleCells/File/MatrixWriter/SpotWriter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"193be58cb2aa6d2844e1097a47798357fc973114ae1670c954467bda4740326b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzplot/src/NMR.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"34bed23caf09351b1c94092d663f770b9ace629ae3a006400c12e00a519be04a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/Query/WebResponse.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1928448c10fcff6bdc442909dbf0fb9911406e3dd0cc611e67c34d1f91ab77b8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiBond.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0870732ba7af4ba54bdf9821fb98bccd471083430e3e3ace0388ff89a1b6ce53"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Mummichog/PeakSets/PeakQuery.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"18fa095b69f290904db62b13390cf8be63d96758d771a09178ef4ee78c3230a1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SingleCells/Matrix/Math/FeatureTrIQClips.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc5635c7b72269b90156c3a3493d9815367115fd08557c98c0b8d6162e101011"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/Comprehensive/MsImaging/3D_MALDI/Imports3DMSI.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d232d7617b9555815fcdff4d6543f0ba717df941e4d439813ff6ec97376619cf"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/Binary/ScanModel.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0276015fd8ec3665ba62042ed275c2d3c2a9a686c1100ac929bac62d73a1e509"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/ExponentialApodizator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c2300c66fd4e9a9ff4783b4c213d1642b9fe28be529ff1c8a15cc0ca9688fc21"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/pubchem/CLI/WebApi.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1387ed3e7fa68122da494b5570aec66a2db7cb4f8846a8dc31c673c9564da578"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/sciexWiffReader/WiffFileReader/ScanInfo.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2159b4243f878fbda543a62291703c2964ff56081a72ab61cfc8430c08c531a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_simulator/SMILESEmbedding.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"794468eb8c181dd7a5231a1a4b1373fd77adada6398b5ddf77300e88fe98b901"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ecb9156c9761282b931c966260e948cdc7df10e36c37b2afd08ae959a8ed8e40"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/Massbank/DATA/Model.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"977ed2b65c78bd4ce646f970f7d450f5871e60f31e737d2e88a852da4c32aeb2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/Spectra/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c963e3840b62dad0ff41fd6abbed6dec3d86f0008f16f72990f3aaf4c5073347"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/MzBins.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf85ac242a862e3da81acc3ac73807b475ad7bcdf744e41601f5efc33fa075a2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/FormulaResult.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6d99d2ed832a76bb09515c0632e6b2055713425ed39cca44ce251d3ffde38a80"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/ASCII/MSN/PeakTable.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d17a36eed42c6a0f6a805313a188ddd47824531f49104bf90e22d8ba9f3c0da5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/XML/ScanData/ScanData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2bac96baf170be0fccc2e641d770310d64c7f114b437a71db2662ce2479243ef"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzquant/Report/Template.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"89523f03d153205e5b453fdad8914e16c01dfeda0e5a37b65b8fbb9ae614b7ea"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Models/Xml/Ms2AlignMatrix.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1edc0b42224a8c80816a307f4e90e725f97812153ee13552d18925de04a3c5ec"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SingleCells/Matrix/PixelData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"340e78d3f42caa0e17f3cd033ae7338ad7e151cb2f54cfb59c9b2bf87195701e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/Web/WebJSON.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c8be129e6e8c2fd37a14ff5a80717818f4c2ef818aea9427549e89e360b290b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/flexImaging/Storage.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"02a59450aa9f4ac1e9ca2f2a7b670fde3f87ce352a58893a4147bc708fafeeb4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SingleCells/File/MatrixWriter/MatrixHeader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"11e0d4dcaf86299ee9f29fd47325fb7dd406467ed7d1c54bf0c4d8c45907f6cd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Save/SaveXIC.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bcfcedacd03e26c4431c4155a5c1780da4dcb5ccf682dc8d5e97fb32151de61f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/HERB/HerbReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc928435ca49d2ebf0cc341bcfe1c7486cc8a813316e48b87042506276607291"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/GCxGC/ChromatogramMesh.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1175739a4319c8be8eb652f100eb4e7a92f28346dcdb72d4e49df7ea66f192a4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Models/Trimming/RelativeIntensityCutoff.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"078e4eef81e0a9a983d95e1265510fddb8f065f53a5fd39028d75fbb966ad17a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MetabolomeXchange/Provider.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a48328f9a9c26a9b2c0289c8802351740c7daaad25895e8c8ee668f23aecc026"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/sciexWiffReader/LicenseFile.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3800bd28e12ee121a8082f2fbd449f5e01c263ae6e0170652afa311027fb7018"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Metabolite/ICompoundClass.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e2613840346b2b981a0f0aefe19d7ff508374a095f01f9dda1791e5f4868a8c4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/FFT/PhaseCorrectionTool.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd645b7de4340e731bafa570b81fc60173fa50716887f382e2b6d306a28714b4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPackExtensions/MSImaging/imzXMLWriter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"934e05f30866098f365d1e57598502472a1151d5eadf631748ba4732879a5ee0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Models/MzAnnotation.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8590a6d41bbf1fadf6351d711a23518aa1c41d3c07e393eee768a694c839c5c2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ChainVisitorBuilder.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2c557754b87b899646527c14b1d653dddd6804e181da61aeeffbeba7c46e047"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/FormulaSearch.Extensions/IsotopicAlignment.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e2f524fcf6491d963549c38763ddbb51af5db745e63327be6e0d185bc06900c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Models/KEGGCompound.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"339ea41cc1096c4d0182d076e24486d29ed9b43920211055eac1dcd6bdd6869c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/Base64Decode.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a50e2e8afc002e40164f3a42a57b0b85e7cedae4846589573c0c66fde17626bb"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/MzIndex.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f8e33fe8eb95b717d7f0db5d2614b9e1bcdcd5eb90b50f74a43647bca53cc4e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiInputFromAuxinfoOutput.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"23c2b9dc1d440183fe473e831c13ff91397791faf0e3b7e47b9a75e3c20f4c97"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/NMR.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e82af123c1de717e8325c0d194352ab451b9fa935738018eedeb26933ac87434"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/SCiLSLab/SpotSite.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1b60302269434a289ff9be9a877ddd5cad98ccc76115c17ac25e517da4601d61"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Chromatogram/Chromatogram.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ea57b7097bf57256e014ddbe391beafce7df0c05f828c08eaecada87037bc43"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Scaler/QuantileScaler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"153ad49ac120db2a5922a44189e20e7625e110e765a92d7e85ac9f9281c488e2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/KNApSAcK/Web/SearchQuery.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e2fd372a6dd33d27fa9467f7f5bebcfc964a7ff45451c85f341d454165c81b4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/MS/ProductIon.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7f2bf0a2ededfa903f3b865df99bf5bf37dabe43cc1e93a69b35f991d3504e8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Task/peak_align_task.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"90c858fccb34f086d67be511ec0caf948d99bc5e2eb681b50d4ec52af3870675"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/Consensus.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d80e1efe47de22163504979b510f719812199abdd6bfe705c5eca54ff8c9b654"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/TrafsApodizator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9492cbcd011fdf2ae296049bd7e4e49ffcb3e9df5d20a25a187ad2f739bea02"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/MetaReference/RepositoryExtensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f6f22a84fde2c807873de2b8df5a50629998a600271d48365fec3c6eb86dce5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/ROITable.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6d75bfb9d1a4b43cd3240d073105a19a6eb1951d37b3f115e452ce1e9e08cef4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/TrafApodizator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"79c5ecbeab64cb65dcb3471585f00dd07490c61802db8a6093f12ce90422d0d4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/AnnotationPack/Ms2Score.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3270d8a70febbd9663cc4f2e431450456fd173b7e7bec9c354542afd49e5c4e1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiKeyOutput.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"866d7e38a04cb975854f19613c14a4a12c4e8ca95dd6f30a893a6d69deda6e49"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/CML/molecule.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6118459cab8b59d02601e1608f3075922b7935edb4bbafc28964bd1d8fcc5d3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/SDF.Extensions/SDF2KCF.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"929716c0ba372ae37b7ced2002f65c52f13c17bc63d93820e50975014d891dbb"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/Proteomics/Modification.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"111943ff811cbec8f03359a951797886a2690c2adfd9f0277c06f811af4867dc"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumPool/MetadataPool/InMemoryKeyValueMetadataPool.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d5e3389f442e2e7b1d4c999b041fd22ca84ba7bcde278f64a239714f592e825"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/XML/Scan3DReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7a7d630060b3117c7260369bc6bcfa04bb97ebe4fc85938085a5da99ad383f7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.Interop/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8bac9243cbe36d0702aff97b499c32d7f2f0e6ae55f66d882b54e697cb57ea05"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzXML/index.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f51427e77f269cbf1013206c36d1b15711c42ac3e696b7e214f617191bc788d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_simulator/SMILESAnnotator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"69e7860fdc29916c2bdcec69cd6789afa9791eb10bfd9139693b3ca006ad05b8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/IndexedCache/MatrixReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b10bc243fc51f4738e64a3486b20ec27c41bb5a2fe2c2d0b35c1c550ad5278f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/Contents/UnitExtensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"905100520bcc5c602816e06f9d607826976aab6b8d4152794a4a5d21eee9cda6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/Language/ElementTypes.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4ffc84c9eaaeefa1bde0d10dba2aa86556b305fa58a39d05121b59ba038346f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidAnnotationLevelConverter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c9b12393652fa108ae04ced93670ed0e553518794362fbbb97806a91b442703"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Save/SaveRtShifts.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"17d1219fbc04c7e73ded6a9f73f54ad1b35a167183023ef2e9930cb62222311b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/FooDB/FoodSource.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a2a897b99a83e2e0b965d356ef3698ceec48ef3a9210b2cbae5a8af091a8467e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/NaturalProduct/TokenScanner.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1123c0b5538a93c6d38da4941cdb938ab295d33c9af7d50b7ca9ab8ad132c265"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Metabolite/CrossReference/ComparesIdXrefInteger.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"95cb2e4d8c15551e90300ee0f333fa0945c08cde1c79828986b4e5311b353d72"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/MSP/MspReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab8ad3e4cae204243c6cd731b60845f2b7e0fade130a6a5da56bd6abc303e9e7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/TissueMorphology/HEMap/HeatMapAnalysis/HEMapScan.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e6edebd5cb0d46ba0fe5e9a63dd95be89adf9ccebe35e36e67fdb393bea1d8e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/TissueMorphology/HEMap/MSIRegistration.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"83014ba1d3a1b8b73717d3bd94874596013c944f0a08fe88847e4e88b5f1ce14"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/CacheData/Ms1ScatterCache.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8299b1620d98681f62143c845dcce3c9d7e0b6a021a37854d58074b1d73120a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MetabolomeXchange/csv/DataTable.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f936b0b192db1baf6573b9dc6c55094ecfaebb95689d5300684f87075e627112"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidParser/HBMPLipidParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8038846ceafe41e72d4205cb9e179023e1eb558026f0bb2e71aa8daed522c49e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/QuantifyAnalysis/SIMIonExtract.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fddb5fe338d2c0af2b72b77751a1bd94f28f20eca233e62f0f58684b852db4de"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/TissueMorphology/Scatter/PhenographSpot.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca0b3a3a719ed35b5abd1b8a42941aa959f34518d1513f664b84c73e69667046"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/ASCII/Raman/Spectroscopy.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e472ad49253fdcbf685fc0da62d1b741480da33b02cbe193ccbcfd5b34d37d17"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Models/Canonical.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3e735224cd30bb0c9b08caaaa53da6e2f6aac353a270346d64dfaa16ff2ca84"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/NLPEmbedding/IonEmbedding.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"28d7fa7dae1baf7a3eb9d19a8169a1f67639d3b3c2fa0ee1c7f89733d7dc0be8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/Annotation/MetID.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"82fe13ce2f3a46debb2a6980b924947c6475c43299dcb401d9bc3dd581da960d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/DBPool.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"901eb242d1f372199e9f86bc7fde56b0ad679dc00a6bc65f2f714c2e5383d26d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzXML/MsData/precursorMz.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1984db1f0e2ba0740b155c1879b387e120d9c3813dd511a32257202d741e176e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c6b0a1b12048e5c98edc630902cffcd8eb561ec2e4c3556526c6f9e7b767113"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/RawScanParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3461ff24bb73114c7669a36798cc6c098c1069f0219bb30af68fbc7d3e1b9e17"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/XML/Decoder/binaryDataArray.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"93694af4dad2550e1a91e4d65815d419a21cc2349cba4f8b168a4645d64ddcde"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/TGEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"29bcc6ddaeabffc72fbdd3b7d8efd82db7bbbc870f58ac37cef48843b711e0f5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/ASCII/MSP/Comments.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e89b1178bb9111782e667de2ca18515b0fbd1a882632a5af94046425670551c6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Pack/MzIonSearch.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"214874ccbffc06bdfdaf1f2b8c300c1c29cfd667567a812b6bc5ea70ea522101"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/AnnotatedIon.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7cfb1865843cf28c6156b30642333bcb3708cfbcd582b348213c0f2ca5fc8714"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.d/MassWolf.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbed97c8ebc46c3fdc8ac28c3590caa3e9a6fddef92f628d6fcc8fb1fb19c9ef"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_simulator/MolecularMechanics.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"79aa2bf2ae1fa7673b94cdb8660fd9125709bcb5a7f2be71ef4a2eff147be55a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/DataObjects/FTLabelInfoType.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4206c16353b1f7f392a21d04948430f4fdee641b34fa209af121b7dce634daad"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/Tables/Model.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8bc8f3e7df29420f727e1564a8c007af739b9684c1be81656817e8a7891e844e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/XML/MsData/scanList.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"19c947ea35f847700c8f9c3e843d35bd502b9ce5cc794aeb58b52528167e6242"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/SCiLSLab/SpotMs.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6253d8f63c9d246499a591019c3dbbabdfb820b952700f1f157ac0a1f482d5b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/ChromatogramModels/RIRefer.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"68202f7a3eb1224bf70ee47546ea524d60f609c462ba261a3b58763df89467d4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/SDF/Struct/Bound.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2da0396666afdf36bca756841068b8299376fcb1d05141ef709683d29ee73bd1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/XML/softwareList.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e905db9d4cf66de0a507043aef2ec5fb192e1b467ca0c414238428f57ee08600"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/PrecursorType/PrecursorInfo.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"724e5762d78b6035e4b839fe00ba559b7bec5dd6c5b9d54a6d9b2b4fd4f06359"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/UV/ExtractUVData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"06bdf327bdec0797b122ac2582554b3d044e01c5162a0d690b40b30bbb60d296"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/HERB/HERB_experiment_info.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7a1e3710a78119d18567a805330842cfb250ec89dd602e60e0dfeafd4bafb90"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/functions/z_assembler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e38bb12c4b47e95abebadfd54f7ca5fb64b583f5b15fc7e76f0ce3adeb1f58b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/IndexedCache/PointXIC.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"deb341f2af2fb21870f153d5ee4e2c69c0c2899c938821675ef1143906fa778b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/RICalibrate.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"57bb6cae81ae36e62c313ed3d76a6d1d443874348c5745eb20233e402af81e6e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/SingleCells/File/SpatialIndex.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa6eb791c8878085567a1bff0eef88ec0c3f3de8bc548e647aa109a2915ddbf6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzDIA/Oligonucleotide_MS.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d5c0bbdbdecd6669930e9f12ea5f9df5fbb996dfd57e17fbbbdabb1f66d3c99"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/MoleculeNetworking/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7352b7aac7f0015735a6a7885dd88183f2754b3e1c69e30605d1ad45aca61b5f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/XMass/Project.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a28b9897908510dc64aac3a858152c28828faf93e6f45433b6b378ee1306b114"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/ms1Abstract.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8502cd755958e17ed06389c0e12a0f10dcf4e3c697872cf854158849012dec0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumPool/Utils.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"03c691cf8d4209e5f2ac433da249a04271be75c547303f406da22bb19cebe0d6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/FooDB/Compound.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b35be299a7113fc2b263696019d482439a2c8d15a7e91c7e01cb5f5153cf047"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Tree/ReferenceBinaryTree.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a24803f3423b3ee578a4e5e2b94f90fa55658f1fda5695711226f0860b32d28"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/XMass/pdata/peaklist.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2c7b84f163c1fe289e8b04676a0df219c1bec4e89605f0c36e975725e43adb5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/flexImaging/mcf/mcfParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c6c0d5f9a38eeb481284259b61ce4c4e69ef4facdf7f2fe4485f1e916764f6c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/XML/indexedmzML.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"04843f7c9b2881b092704298d608307c98319c75af6d1f7d83f6ad69438fb06c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/Stream/IMZPack.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e755a522f644b614d485dbfc3bd888d660260fff92fcc152916cce075775dd9"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/XML/ibdPtr.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"11eb78b09b48389a7d78ef83bf2a9a8c222173651610067b8cecb80c79a7ecd8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/Query/CIDExport.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4efa8c1876f27d98a408817625b93016aebb02d1d4633fee4c7ba447241cc2f4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiOutput.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c1bc8776e1db3f50ebf016630070fa194d01ceca9a23b44b6c121ee133bbc0fb"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Models/Trimming/QuantileIntensityCutoff.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e1f4a0a3252f1f950ee8dcd061d7021052bdb3f5f0625c2fa6ba79a64bfa24b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/GCxGC/Peak2D.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0202e6aa4db3b7cb0f087a09d07340a07dba1dfae0be90be485966f85016f5cd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/SpectrumTree.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"92c128784ba21cb21a3e401b5fb9f48ba3cb335ae6a0081e69a559be5035ce3b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Pack/MassIndex.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9cc7778e824b45819b7d83e2ba984e9438cb69b7c55aae43128be0e7f2bfe0b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/XML/ScanData/iPixelIntensity.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"37b835b4faa7e8c816015b910cc836c54906b842f895cedad2a68f96f49058d6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/XML/IonTargeted/precursor.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6d4fa5481aad111e7a33322006a2abdf5b8db957120cae070e37c619e06fdba9"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/PolarityData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"909f1e2869213775d2c3cdd9f46ad823baad938222f87b9e7c2095270bdff582"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/FileApplicationClass.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d40b006fea272809b5a76c37fcb16458863c7de20443858e5babed298c231768"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/Metadata/DataReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e3eb7c5e39841e68e50b99af80b7681330af37149d0f1cd59df64a6288a36545"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"798dcb0492081ab26aab05d1ff1a0ff8dfac68e7acbd97eef9de463e4d490f3a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzXML/MsData/MSData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"55bd286dcbfbe5c71ff84b7975ca9bc35c4be46ca6b20fd245d200cbac703843"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumGrid/SpectrumLine.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0694abcee1296c0b075afd3510de1b28e55acf87632cffcd72861b7686dec84d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/InChIKey.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2828bcf9bb02d6908a0e42aecab8624f664d8245d75d4c50a0494b8c60ff60b9"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/XMass/PropertyFileReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"abe2c98470b3e5c93dc409edb24cbf4e2ccef11553616930338f60dfb3474b37"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Models/Xml/Meta.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6da051bf0e65b7ea8968c2f7757a88423139f91f65f3b96660af97d6b29fad37"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/Web/QueryWeb.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8c4df08ccbfac706c0e35974561cf171fd40e9962d0aab15694e905bb46ec6d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Renderer/CompositionBlender.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd96e2c1f94727881f36eadf98a01cd258da4c37722d947dcd274e18969a871b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/mzPack/MZWork/ParseArchive.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"32ca11dcb6f8da2a5a2316e0a0471f983d15283041765c6edeca1aa41163bc27"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/FooDB/Food.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e461508745287d0b4022fa21ccd99d2eea1b89104434089d4b144a72bae5138b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumPool/FileSystem/Restful.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c22283ccc717988357f95a4fb73173c5abeae2a5147ccca4c1b40930b2b12f1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Splash/ISpectrum.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c247fc2dd37a6d126b27c774f3278ecdd9479f776b415d9176c84209209363df"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/Graph/ChemicalKey.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"49626892ceb8290080e58c5ea4ada769929de27b563b253ff9ae4e472dfe7d31"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Metabolite/CrossReference/XrefExtensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e98e88814a8ffcf4e4a7317594ff661630cb686db49a12a9cf789ac70c859b2c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/KNApSAcK/Web/Search.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6a495edd792d6b38326b8cd5def8384dc37193c88ad92f410b31c037ef70988"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/SDF.Extensions/SMILES2KCF.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c70eaa5f6ce9e5fc6add95d15c9e85bc58c997681573f4fe2ee94744cae546a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/PrecursorAnnotation/ParentMatch.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9dbe5fb74e5c5880e525b58189ee4dbaea06edef4d31aed7376376b9a0da3aa5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/Annotation/LipidAnnotation.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ecacf3d510423b431b766b888726073586120df58dad99557185a56649216580"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/Writer/DataWriter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb0cf17eeadad279e5b4c5e4ea6470110c91a1a854d70a0dd768a39c9628747e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/phasing/PhaseCorrector.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"abda96e04717145d840c4532178cad1d6782833fc148f3c154a293e194869c51"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/GCMS/mzMLReader/TimeScanMatrix.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"406ba3cf0d3540e52bcc408d5ecff67964306bc9cd1794e7d8bb9555576a48de"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidParser/Hex2CerLipidParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"12817b06732307026e114c4725cf0f881406207563035650f2769a16b8edae20"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/ElementNumType.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d269c1fc7aeabf5d8d636dd95f95c9f8e7c5ef3bee9d1e1ca040bcb08805dae6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/PCXml/Elements.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f7aac6887435bbeb2453847c2926ad4a866b93b222671440f044aa100e1dd22"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/Binary/IMzPackReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f32b6f591c0a770b63d1e37a621cffe055b4d3afd6fc4e411a5ff1ad2ca16b35"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/Peaks/FeatureExtract.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f7337bc779fba9cba29ed1036a954acaaaff5bac1c2e1ebe4ac80025c4576cc"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/Linear/Points/ROIPeak.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fdf13d832d6ab2b8249efa7c439508bc39e64b0fe56bb0c750642f1e30e30446"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumPool/MetadataPool/MetadataProxy.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1b9681a4212b10138aca9aafaaf951497578ec616eaad47408f47fc80a4ca63"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/SpectrumTree/Comparison.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0e48933032920421e90d3cf5fa61490c95a4520a28d3616366d120121cc6351"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/ChemicalMarkup.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e3c4a1d1480d6cc6e9384fd429addcd7dfc7ee2f43b817b62585a97416cfef2a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/Binary/Version.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f3f1c5534e84539ce8fc5cfb0a4f1c081cf66c4b5418e86d1bbd6ee20278e37e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/MRM/Data/RTAlignment.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1d97a329a38cb45518a593101e7bfad99f3add6fa9910cf70395082df2c69bf"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Result/NetworkHandler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"75248097805f67215ed47c333c1730fb799a91583f3bd8976e9330ed4e6192e8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Scaler/TrIQScaler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6290decfb9532f775a39804bbcf3b853eeff3d7938f8776320c3c30c524e44d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/NMR/FrequencyPlot.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc937c7df02b5dca47856d29e1a76d1900ab7990c7d272432d1f0ca3be20941b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/XML/Configurations.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"43e5776f9dc0efbd634b43b621b9027178aa26a9483c51732a5133f1cde19378"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Scaler/DenoiseScaler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb10044921545fc169d51cc31d12248c800f17aa6a58c7a345f4b0b416edb56d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Scaler/IntensityCutScaler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b5137042c36161e6029fdc8945c3a1bc369279726344c73c04c17b8bef3a2e6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Renderer/CMYKConfigs.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"64e20936eac60f471af6f33a75f846791e483cfd62f0828c496b883bc950f40b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Query/Ms2Search.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"02dfda2a2b5f86f16b8c4017205403ee785522cddc631ec47c8c91246e0ec6f8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/MSIColorSet.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"64dbed78c14d9fe209811e5de136bb45b01e31c49b844166f05be5a496502b71"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Scaler/TrIQClip.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e278fe0296c098ca48189d6294bb5bb6b21104161a4cc360ad98face1562e92"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/mzWebCache/mzXMLScans.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3897ad1096ed5214fe73f400a5cf8a3ee93897a1555a6588e169c60e8ad91a6c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/UnifyReader/IDataReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b65d03b68a86bdb986b1698797c63e44bfb80053a1afcb20c3265b1c3d8d3e7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/XML/ScanData/ScanData3D.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"98a3316602dbf86da8ea4ab543674e055ecd7829d1541d4d096eb0badc633d2b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/KNApSAcK/Data/Information.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3324809eaae4bfca9397d15344129289850fda11a57d4338ef6edcb94e0cb84"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/Assembly/disease.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"42a74a289bb7d4c6b78971d215044a2c9d18036eb23447ddf3ee87bf06abc2a4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/KNApSAcK/KNApSAcKRef.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"19579333103a3e727ec16ade3ad872767167514c1f6634de38b10e07f786a34f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/FormulaSearch.Extensions/SMILESGraph.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e4be90c9f4b69e0a8cd860ab876205c4fedc19d7289c1f6227bb78c4a25cc09b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Pack/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"802e5d2efa95d5867ef7cbe5652f508c3ae0433d1a0f648c3c2a50c061107a18"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/DataObjects/RawLabelData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"746af5de778c343f999d0d7b9ab0991e293a817c09224280a6190448a5910c2b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ShorthandNotation.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9fdd35a1a60c34539548c75689f929e36e6673a033c9809f77278b73cd832e5a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MultipleStageMS.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b79f4a8b61c4f4e7582f8eb3913c3ea197505852139f1a49881387c10320962"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ILipidGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"523866cc06f4bc442d2182fea3cdf25513576d8b701c57d5e382304587dbe705"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ChainsDecomposer.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"841860187268d748ced14f30c557a7c8d763246d832b8adf0b9d0b02c9645618"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SignalReader/RamanSpectroscopy.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d99d99da773bcf32058d3673dd6368a4dc0eb5dd37c28f425a3ce585632f1f2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/ZeroFillApodizator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"db9ea125e4337bda3fecc634c06c149eacdfe9e6a6988fa58755978fbeb6bc6d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/FFT/FastFourierTransform.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ce8a23fa47acdfa29e26b646d9fdfe19abc5ffbc2bea3d8dd5a3d4e6a8e02df"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/DMEDFAHFAEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"405ac55e04430d2b167f8d0b3e0499219b8fa8943349aa6c67f92d9e0307db18"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/flexImaging/spectrum_sqlite/Spectra.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2080fbfd513f7f999881c25d7cb2be15713245906aa297cd8e30665d4793fb25"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/PGEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d5f2d2b77f542ed267202487918b3e00e03d73b3bbe2ff435acba3f939b915c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/PIEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f8c1933ccbcbfb63049d7f5fd22eae2501929badd518c27751f6e5b5284d2f5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/PEEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"673637db4043d0614450302e4ff32624f1f240741529b64ce501e00103624f7a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/PSEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"53831d37aca23b0ed73ed0794410ea0d6ff6557b7db269a3acb3d5b61787a5d3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/apodization/Apodizator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"408cbd6f8ab245c5b732f110c14546766a386f51647801d950967dd21f826c7a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/RawData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"54cde3a436f61bd04208726a1178abc35b88c5a20378e2ace4f5e0f17737fdc4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/mzPack/mzWebCache/mzMLScans.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f550546dcac2aa77a52f4df859712d258dd1601af42d4d38fe3956cbf03f129"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/Language/Token.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ae12c6d8b6a0bed26e243d2cfc7c1113a32d84d3f2271f3687a30e06ce9b68e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Infer/InferLink.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0b06769877e0065c29aa3303aab2063993b785d1bafadc005fca265889a38b5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Models/Fragments.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"00dfed4698e26fe220a27bfae002dbf16ed5610e0de37bc74d1169cb6bf39966"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/InChIStringReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e55ef97a22b91e68869ae632b6487a23f6b13d94df850cceb93c0507f2d2507"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidParser/CeramideNsD7LipidParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d34d71903f766bd1865434510aa8623f4484b9caf3dedf33edaab3bcdcf9051"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_simulator/MolecularGraph.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d271aa8ac82d38a6d02bfae10e2bbbc517daebdfb4678d777a8ee7c48cf79cb0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/baseline/BaselineCorrector.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"422befaa0c0073b8a609b74271f708d2f943d6be54180bda2303cce9c563e5fb"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/MS_Peak/GroupMass.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5bad7d39a2ce9ec3221385137952b527afa33f6a1df7f67c8f0ba11726a9f77"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/Tables/NameValue.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"214564228b453af1895669ceb191ff2ff281e48364c3db5dd1517a6fb7b6a305"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/Models/ContentResult.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0838376c8008e797d0e2b8341bdf0b26b2ca2a5297bb738be29c4efb0ece27b2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/assembly/GCMSData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d79f1798e59e79b3157fb05dfdf9c4c35a1d6b3d55bf1aec6792820e6d35c5de"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzplot/src/ChemicalDraw.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a54abedccc4380f3cde4f252822d510a6e4b97e05f0aa73be749f047e1d24311"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/FooDB/Content.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6643075208e8ee6e479fcbc4ee1f659ec33e26fda94ce9036634eaf373b2c27a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/XML/Chromatogram.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"14b58f5f576780c077990e8c154171ef390c56874cdf848299ff1068a9ddf845"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/MzLayerColorSet.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7bc701de071028988432db29e90f777509dc878899d66e92de961acf2d405cdb"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/IsotopicPeak.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f838a1291a082517f2cd8be6438efa362a9549aa8d4615e0b89c6533385ddb90"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/NLPEmbedding/SpectrumVocabulary.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ccf1323b7e6c479200bd6286f678c8b3484b5a61c428941f2ff1f463c8b93a2f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidParser/DMEDFAHFALipidParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb944045d8d512451fe4094a712f5a106368cb8c5b564d8f94ae34a7573780d1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Scaler/KNNScaler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a828e704acdee8039d8ad47b6d745639b649f0f090781a9c98148d44e792b4b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/XML/mzML.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"def26c557758b7799fb22ce14fb638d4c85b8cb4de857e685679d1eeb985cc0d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/LipidParser/DMEDFALipidParser.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"63c39a3707cf302c25d3115448c6aae39e284415df8519f5df24b2ee2d79c028"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/ExistFormulaQuery.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"327e922b6e38d4f902e461f36390ab1ef6a6337bf83d7b9e20f51022052aef40"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/AnnotationPack/Report/IReportRender.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b9d3e4bb475b75136bbb7671ed76a1045f655b3208f64fd43ff7e260dc7e27f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/MetaDNA_visual/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"31644cf9203e4568e323f6dc171245c7be2c7d8de208648baf53d99126f7c68f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/DGEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c184a3e1bcb3a2350236d8089cb3209bcc16346fca7162531e3bc208a49621e2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/ASCII/MSN/FileReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"aeb799c26efc012a2b9a42121be419bd774534082098c616b930707c22a249e5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/Spectra/CMS.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c109ba6f2ffc94cb1d50f00d6c7060acd1df86c2cfbe7cf00e2f119e7a6c39d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/Utils.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf584c6d705f670fdb586e14e227e746f680e7cd00a8652109560a71555d91c6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/ms1.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"182b324845cdb5e14f2fb244755c87cbabbb493c8a8461757782ec08e6260500"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/KNApSAcK/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"af839a20f280d9c2d5177742e47e06f859e27c972963837048321035d128d9a2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/XML/IonTargeted/selectedIonList.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"739b8c9aa93b2170888513b9a11fd087f9e2e99f35fdd42e207b7ffbd9586422"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/InChI/Models/InchiStatus.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b6a3a5e2c4ce7595ee5f448eeb8c199b38ccf437403cbbe9ea3771f43f625636"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/PCEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ebe4e5c28b7b5cf6e5b2d63a206eb7677e516d506a8929ca1dd56b65378deab"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.Interop/My Project/AssemblyInfo.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"748ace37ca1cbcbb30a889f499497097a7a9d30a0ff22b096139362d3e0ad1bd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Ms1/PrecursorType/TypeMatch.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1351af58fba36d72488f4f531341fd8d955ccf2a72aad32e9084f9cdc5843367"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/Models/IS.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"841db116a6cfdca0332f9d823bc17d5aee72f4958608b95ee72e0ee9aee2f2a6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/SDF/Struct/GraphData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"19933d1449d78749e14b632c8512be5eb74c241101f20fd0101ce588faf05e77"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/Spectra/MSMS.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"717d0ea8e5c53c4f360cc6965d72ce0b291d352bd9aea13a733205905417671c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/Embedding/SmilesAtom.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e146cdb72b24c5d1b35bd50ecd599f1e3d0b3e0352a70f7280e698f9822a7346"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/BMPEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd4af659c80573d249e19274288b0660b6bc62036f31ba74c297b994b8227f0e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Models/AnnotatedSeed.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b662a0c316881bf3571c6e892966d8e509c7cdd4ede9ce984b2acd5b05ed3e7b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/PCXml/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6e7e95ec560501e5bcfe72d8fe2560079d5834706265ff48d1bc7ecc491605b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/MetaDNA_visual/viz.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"429deddc94d5ccf145f5246ddc652be73cc48a3dc16966b209a87638472d8c9c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/FooDB/FoodData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9599b92fa27bf5e385e18fc1ff4984d186a2618209c311bfe22598eae26ec119"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/MetaReference/WebQuery.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"657ad62baa8de0a132eff0ac6fbb35650518a3a23e758cbe7374b724b79e53e4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/XMass/pdata/pdata.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb52281444839a7d895041fd8d343716d982e1716c0bd66f8130c91f858358e9"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/PeakAreaMethods.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"beaf1a5fa49e0ef381e2214e8ff0612e6982bd785e6bb646175cf9b86ad572d8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/Models/IonTPA.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"acd4bb8566a3e7f715f3d65bf403b3a0c84422f8fc9f92170ca03fd7e7b2e773"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/Web/Query/ExtensionModels/TaxonomyGraph.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f63f84cc8970de083bacbba306432fc559202033247c48397243dedd0e8b858"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/ChromatogramModels/RtShift.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"12587b9131daf6621d889f66570089b0df0a68b40868b01da01bba1a4df6648d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Reader/FidReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"47e26497f1f03dfb128e26e96baf04b90fc5b103ade6ba5cb9f068e10bdfd53c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Splash/SpectrumType.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8df04c583f7b4557a54be8fbcc4f76032c51bd1b39efd4e287440c3d86c0992f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Result/MetaDNARawSet.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"45937d05295e02c5787ccb220fd69edf7af03e2c0f78d006284d84a66bc129f0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/PubChem/PCXml/PC-Compound.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c1679c21c3fdc3efb237d0b23f4f53f2795ebd6f8a5326620dbf08bdabeac3db"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Scaler/LogScaler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d046690394cc93c7e423c79caf6974151a66816e968b46fb4c27e5cc58dc2b87"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/GCxGC/EIPeak.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"10cc01c59df31cfcf606be0a016a38c4ade8a6b1089a4741891265b4f5bab38b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/MorganFingerprint/MorganAtom.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc5452bdf0d1cc15c53149afbc4d6f33af2389da1feefd22f781c842dc23dc42"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.Interop/OutFileTypes.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"074bad88be6293866cce0c34358729b2a9c8b19a2051c2e1dd575d5ec0ce33df"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/HERB/HERB_disease_info.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e58baf0e65f86beec915b110bf6c4d60ca0b17a3671e21f38dcc649d3009803"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/NCBI/SDFExtensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c27c01ed7ff50a1cc745144a908bfe4429f03a36c7b5b1cea733c9a68f1fe4d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/MsImaging/Blender/Scaler/PowerScaler.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f348f9a3d77babfd27f0f291816e9fed91216294d3cd72a9f881e1e23d9d8b41"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Infer/Candidate.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"43ba2b8f52270ca91319949030197f9a49784016dada29d911a2659db895393b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/Alignment/EntropyAlignment.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"283b5904a48eb47a147a0b2aab16a9e83d07a783e5a1bbe0070fde73257a7ccd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/XMass/Xml/AnalysisParameter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"476b34e5395fb6010e5b65dc985dbca3b90cde9ded907f2bec8a23e476153ce1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/ibd/Format.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2005f889182ed240a6c81802e2e7beab8218e61be0177b6547ce6241a3573708"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/NaturalProduct/NameToken.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"17aff322215bf9f8e0fc6247127ed3855824556a039970b445a70fa394fc0192"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MoleculeNetworking/SpectrumGrid/RawPeakAssign.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"335e11d95e994cc046172a049265e761fc9f92c5807b67c6a68dbf20ffffe339"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSFinder/DatabaseQuery.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"792a5dd489404b9b11b40d2605ac69c79a73a796bd22268e6b8842e2079529e2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/DataObjects/MRMMassRangeType.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4d959e28e89017871f8ff929feb5eafa37900764f2ca8d4c2168ce836f170b9"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/DataObjects/TuneMethodSettingType.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a20f356f53bb785962597441749a5e74305a0ecf2b870c84375fa6aae6160f07"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/MSEngine/MassIndexKey.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e0973a5d7ab24657d98292014870c4fdc4a8c17ab055f584caded9ddf7b42e7e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/MetaDNA_visual/XML/unknown.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b96444246e9a8b94459a17f73b82ebdb54b42f1a79098d551de7311f191d12d7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/ClusterTypes.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad1975ec5510f85ad5d53d65f7c09e3247c2199ca9de029c61b18a91d629095c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/FooDB/Flavor.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ffa19382dba5d086f649a7ceac3d5778b2fe900021ee7f39f4969e38f1c1d80"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/SDF/Struct/Enums.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b6d6098742edaed0aed163f221d1ede77cf057797cc95c5ba0a15d864732b4f5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ShortHandGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a91d192b30e1838f4e00a79f46b820a242ea090c6cf81dc960991c0781b2a2d6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/DataObjects/MRMInfo.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"36c69d6209515423e16cfcedacb81d76a4b04c3f7199a314f146b86a19551f81"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.Interop/PWConvertProcessor.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8ae1c5b4f8cbdb246683dc09d5748b95d18495f90bc206566c95709682175a7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/SpectrumTree/IMSScanProperty.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"726984c178c0631c56dc0f86d2bf59b3a533ccc5d477d05e6ad5480963924364"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/IOadSpectrumPeakGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ad04f417de4efa36512887a5b10d38986f410023a4e98577b3027212a4ef5e2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/UV/PDAPoint.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9dcdcf6c7e7631728f4a97b0c8384f3d8d7118aba51ec5edae8982e8033edb4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/Raw/Exceptions/AssertionException.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a1e5289867623e100cc67ee64c381957ff321da068cd18058450673d26cc919"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/Raw/Exceptions/PostconditionException.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"df1430e89f00de0fb6a6a6c67c6adb782707d04cb5cb72b14e8c3f4fab7f4fd7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/HERB/HERB_target_info.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"454a30c294046fbe0dd1058bb0034066ff472da992d537eccf2c91247b891d3a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/Raw/Exceptions/PreconditionException.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c8e0eac878c84cde9a1baa2bb3c1a2424cbbb9991bdaad33fbd7a75452bedf2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/mzPack/IMsAssemblyPack.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e28a666a9230804e06ef3f997415582d14d6f2111d6eee40057e0aa4fe50f84e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Task/peaktable_task.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1be8fc2dbefaa3e266bc20461d729b747a34ef70b34dd0f3e17ffc82f974f015"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/Raw/Exceptions/InvariantException.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d1ec7649dc82edb00e652992d1b4016a9a6511bc6dc101d4defff1a8785cf16"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/KEGG_MetaDNA/KEGGMetaDB.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"121eae68ddd5302ed988748ddfbb5d033cb70bbf982df0b60f085b3f5b08e445"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ChainsVisitor.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"453e37cab7aa89cd4a1e41972207054036407514f46354b4e24b3ba536f4d2a4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ISpectrumPeakGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f883c128f15b79eb946123a8bbb5ddefac43dd5707825ab9502a58084a66a2c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/DataObjects/MassPrecisionInfoType.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"373a5f5d738caa7cd991d149fa30c3b961080470eca376c3a6ee5fa48aadc74c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/Models/QuantifyScan.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9773870599b7e7519c19906e652f24b5f3709375e43fd07fd4633fb6a2856246"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/HBMPEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf90eb14420ffdb681c78f866194849be860a8829bf1d4665da8eefbf2502bee"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/MetaDNA_visual/XML/XML.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ccaa091dc1a061d27bb9a2a5263905d542d03aeae89716a53033ce8601294c37"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/TargetedMetabolomics/LinearQuantitative/Models/Experiment.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b54a3dbd94c4297dad8f47315345f314ee0377d918d40ba60909f12e8c1b9d75"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/GCxGC/DimensionalSpectrum.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"508565a5c8ce7e20949e0d40e329343e3a1008b3db289aef099105efeb0c1d15"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/BrukerDataReader/Raw/Exceptions/DesignByContractException.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a819fdf51c3915f22bd2a500030bf6d342aa4cc05f336ac74f1fa03f8426258"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/XrefEngine/ClassyfireAnnotation.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2945cb89086684132c49ab7573a3f39a5fd219634fc744bed537a964ea5c9ae7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/Chromatogram/Quantile.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e7645ab54fc7170a296bfcc8b9c3caecb934ee3939a693dd35dffa13330e13c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Formula/Isotopic/Isotope.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4c8045fc6afaf54b552b971886e0a240ec4c709ced63da22f1a35ca43d04c5f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/XML/Decoder/BinaryData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7550b13375f4b5a9d325ee065076d0a1bf28c964fcd98f23aac39027486ba42a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Spectra/ISpectrumScanData.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a41f1e33bd61a4b84f940aa012c7cbe783e8973950afd1995cc5587381b3ac5c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/VBA/Dim9.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c0e068adacd8c770ac5ce900e3426069169854bdaea7aa8bd15a052dbb973b53"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/CompressionMode.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7413390d2451dd0c8ac1df3726c316eaa8056a5c3a35c3be0137b882f74e778d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.Interop/Filters/Filter.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2444724568c72c02ceb2e4768eb22e45d4161580a0ff8fb930f45d8aea9cdc28"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/mz_deco/Signals/UV/UVScanPoint.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f5e00cee4a7c5a7d1b463d0258771c60def72b9857c01484bc4c0d6af5221e3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/SDF/Struct/Point3D.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e7c9432b38147dffb83f11f05ee8bfd34f697c0b12dc02ebf8c8cd3ee776b6be"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.Interop/Filters/scanTime.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ee8270981c8fe48baf071f80cf5dac4e318e5c73ce371225a4e876a6a9c2cc5"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/Spectra/NMR2D.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6cf0f8428f06e60c52b1832333dc0a1ebc8ecafd433b9fba07813a999e270d85"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.d/ServerHelper.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf632ac502ff63c2e4eb1e8fea66849fc6b046af769dac4f14abfee36b655342"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/ILipidomicsVisitorBuilder.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9bfdc4136876828cc019fb27fc428c989a214c7f7fa9ec1f7bbbf9313516b5f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/NMRFidTool/Math/phasing/Export.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d532097f4a932133de33db5bca717d2683ae5452e3a70dbe90510cbf0b0d045"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/SMILES/Embedding/AtomLink.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3a5cf204ed1efb65b1809bb859ae1211aaef78918c3f3928ed8ab1612e81b4b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/CEEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce19b3154b8104c065df21b89647ffaaebbe6dbd3ba8fc0e380af687b1e647bc"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/MGEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a59c514a0ec32b633627066055cc2443517c9dd393c01034db49fc4c6bb6e44"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/EtherPCEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"51a8b640ed495b89a9cfdb98b9353871b084124184c3019a092c4f9538bc922b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/EtherPEEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"14723e0dc9d0b70a81c325cc0c16147cbc59c2a5776df2798b887c00929a6f1a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/MetaDNA_visual/XML/compound.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5be1c14318fc47cfd6cd277b530d5c3bf6ff8dc1add6ca6732ec96036b271016"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LDGTAEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"514c3ce0bd61cbb0c8964ff83c650940c0c20a6f9af4d813af9c6a23eded69e8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LDGTSEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d639981411ff78951aacf02e9704e5a64c8e1146836f04c90960a37fa7380b2"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Query/JaccardSet.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"064b1f6318c4b4089427814dc143f4ca23b313d80375e0db5f1e3122b88a2ee6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/XML/ScanReader.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"150584fddee11dd6ad9048ead37574c4345939f53950ee347ec3c88784c4afc3"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Pack/Validations/DataSetParameters.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"44f1c450e37227696e3e7124d77af6de890a259434c0deb1cf12500a10c16892"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LPCEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b20ef3fd10cc23ea1f0ac9f7a4b1a8104db39cc7a151d1b600420bf4996efbbc"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LPEEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb6b11df6941316279a6128377fc24b63718a3c4e40b5123791fdc7002b77044"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LPIEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"90a4ac3ef0bf2631ea3003ddaa0d6ec9e8360fcebec3c77d4c9ce544eb80093e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LPGEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"167cdc67e63ae5d5b89900c659e70ec8d0da686285d9a87616d5cb1cb11598e4"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/SHexCerEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc6ad6fbccaba13cbdc4cdf59b150e0b8bf872af7c2911fbdb15f488c73f96ff"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/Enums/IntensityCutoffTypeConstants.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a214171371447edc1cad97f71a5ac8bbb59ac495a0021a1809c5b65ee3878a24"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/XML/IonTargeted/product.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5bd2df4328adfb85d9e19cdc6b18f4fdf0a7a53eee4f0f4128abd10de698de72"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/DMEDFAEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e7e43d55e1edcde29ce64782924a5f5f24a9dfc80b0a446594a2f86790c8f7a9"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/MRMHelper.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"500ce4b8413bf822f1db8663a413b706312e4724793a673b16b4c830fd37c1fd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/CAREadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"09cbdd14170ffcf399871e975edaf117c7dc7e538db0292fa24ba0189c807c19"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/CeramideEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b7f52cef8c78a52af9d1ecc1b7fd1b6f164329db10e5206d3cb8294e1f0f04a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/DGTAEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ca1db733c75aca6745665722a2f11ef23e3dc71bac30640f39542b751cc1b8d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/DGTSEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4953a527c918ad54c76581c9d71c8369f71b02ec32d1e0f97a2e4359457804d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/Hex2CerEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7da2d272e15e5254f6487eae4abebe516ab52953dfac8a08426ae7b54005a280"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/LPSEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9123dbe4aa269c659e82fd8c1d564e19eac693cec0f2f29238fd57ac49a29b78"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/Enums/MRMScanTypeConstants.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c0ff4467b9c493bb120213965529ace0e50bddf28194e479c9d254f7629ea3a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/HexCerEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"73d90be9ef4156f7d6e094b392fe9a31e0c0e92caa5dd781d2fe105d10a428c6"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/PAEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fdc52e7fbb2beb81a2b5d48a19cbc50734411d9f1ba0d07e0789475539e9841b"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Chromatogram/IROI.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c333db2526bb82ad16ae8c454c539a5e6f2075a06c4c443ca3936e333671d97"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/IChain.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a90ef357ceb8af529684b137b5964aa03bf8789bbc8531a2e8867bb1cf9af5f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/GM3EadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c3bb712f089b70383fbad589668da9693a9e061a2eb611610c4352d24e704b0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/MsCharacterization/SMEadMsCharacterization.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f320659d0c51bb212c71d99587a73eb1408a24abfdcd561ba71d52e6466f2a4f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/UV/UVScan.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"82f00de7793c69a797c2c09a33ce37e3b86f230e64b7e456f21939d368f1685a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/XML/IntensitySummary.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ed15dadcca97351972db45518a2142579f268763e3c7c55159f3adeed70f5bd"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Extensions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2746b7924a7375f1a32e46b7f7d13e2cc8bf0aa1b11edbb20f950dbd50468aaf"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/Spectra/NMR1D.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ad68231cd07a5bc83ea98a1352f75a0f25038792627c57618269611bfaa86d8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/FormulaSearch.Extensions/PrecursorIonComposition.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"709b92dbaeea17cbf6c4475b0ec80b020d22e9014bd5ee22af3d03cf1ce8a2e0"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzkit/math/TestFormulaSymbolLang.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f0811df06fae293fbeea76a59255ba2198c8e16b1d0f5215617945e847b7f47"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ProteoWizard.Interop/Filters/msLevel.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0de1dfad53f3ae8001cdeda9c829884c990481310210827f7da909321c4a964d"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/SpectrumTree/Query/IonIndex.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e4aede55de9864d2345232f507b072af053bf0515fd4bcb2e355517cadb6ee1"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/ms2_math-core/Chromatogram/Abstract.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c045d43b8127ae10c1bb64644fd501394f0a9fd12cd9c7a0d3b7b661700d2762"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/MoNA/NamespaceDoc.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c4e54cd67c27e76e4cf18a074737c4a7a6b043a36ec283d441f9b02a3caf326"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Massbank/Public/TMIC/HMDB/Spectra/EIMS.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f8276669e856a27dc31dcb96526cbeb67dc43b9b727886f1639a6e4e57d2dae"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/Enums/InstFlags.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"16ded3b4fbf2eb87e64615af818ddccddb8345b19adab95a523f23ddc71561c8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Infer/CandidateInfer.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f113fc80c8363ff652c4ad9eb54ddf216557686054a80b567383b637c1f16e8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/XML/Decoder/binaryDataArrayList.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5388e15c31542e25d1b0be98dd4fdde0dd587075655b99d1434d12b492e00263"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/imzML/XML/ScanData/IMSIPixel.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1bc8f17d234a3af70655b57a8e3d5ccba83bee7f3b5b9d5755f122dceecd3a03"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/mzML/XML/scanSettingsList.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"92914eb16c5943dec546fbf312d5efbf91f85a5a8e11963da3394a7ddd0766f8"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/ThermoRawFileReader/SimpleScanAccessTruncated.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c24bd5250d32707c545e261efae327b7a29b82c3c8227c270a6072d182cf8eb"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/CML/cml.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"19dda92466ea7f6ed8a00fafcf7299d7a6dfd9d68a439ba3e183e603f340899f"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/VBA/VB6DimensionVector.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f1c8ef6782b17f8ce06bc6ac46d5bb6bd35bea690c56bb81cea74e96c6e49eb"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/src/mzplot/GlobalSuppressions.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5bc2f7a3c229cf9702f8964116a50a83565d4920f9f1ac4b43d4902cd0e39c5e"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/Utils.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc02aba3e6635c31591bdb76d867bc9e60f9a8c90df663234d663d751745a848"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/MsContourPlot.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"735d5a6d428ce0e8a5b13523ceb61eb0c63384c177e3949906547fb1d8f86d3c"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/assembly/assembly/MarkupData/IBase64Container.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"25c010d5717f6f58e162a37fb44e8771bd726e76f96b8fb078e1f2700f7c5d3a"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadna/metaDNA/Models/Networking/Networking.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff4263b3580f069fa4e899aa3a4cb377ba4b349ff88944ef4c4bed0f19e17da7"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Lipidomics/SpectrumGenerator/ILipidSpectrumGenerator.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ea22a47ddfe2ff12801f4ff1de807e8b5bfc51338c5ca34699834da41272350"}},{"ruleId":"D34","level":"note","message":{"text":"Orphaned file: No one still active in this repository holds living knowledge of this file: everyone who made a meaningful change to it has gone quiet, or what the current team did to it (moves, reformatting, log-level or import edits, renames) never needed understanding it. If it breaks, no one currently understands it. Attach the read to the next change that touches it: have a second person review that change, and leave behind a short comment or test recording what the file is for."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/MS_Peak/DigestResult.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d14e73a1441bda3d7cf891bb2243675052fa3f5e22a38dbfb34f2b5e02824c48"}},{"ruleId":"D35","level":"warning","message":{"text":"Change coupling: GCxGCTIC2DPlot.vb \u2194 GCxGCTIC3DPeaks.vb: \u0060src/visualize/ComprehensiveMsPlot/GCxGC/GCxGCTIC2DPlot.vb\u0060 and \u0060src/visualize/ComprehensiveMsPlot/GCxGC/GCxGCTIC3DPeaks.vb\u0060 change together 55% of the time (6 of the 11 commits that touched whichever of the two files changed less often, counting a file under its earlier names as well, and counted over this repository\u0027s 10,000 most recent commits rather than its whole history \u2014 a repo-wide or module-wide sweep is evidence about the sweep rather than about any pair inside it and is left out of BOTH sides of this ratio, while a dependency bump, a formatter/rename sweep, or a commit whose edit to one of the two files was a tool directive such as //go:generate or whitespace only is left out of the shared count ONLY, so the two sides are not taken over identical commit sets). They sit in the same directory, and in this ecosystem sibling files there normally share one namespace/package \u2014 so a direct reference between them needs no import and this pass cannot see whether one exists. Read the pair before acting: if one file only DECLARES what the other consumes (a constants/types file beside its user), the co-change is definitional and the question is whether the split earns its keep; if they duplicate structure, extract the common part into a shared function or type they both call; if neither holds, the coupling is hidden and worth breaking. You can check this without leaving the row: of the 6 shared commits counted here, the most recent 3 are \u00602778ec19\u0060 split project into multiple parts; \u006095fe0050\u0060 update source file banner headers![MS data plot] (at that commit the files were still \u0060src/visualize/plot/GCxGC/GCxGCTIC2DPlot.vb\u0060 and \u0060src/visualize/plot/GCxGC/GCxGCTIC3DPeaks.vb\u0060); \u0060791e54e6\u0060 fix of the missing data model (at that commit the files were still \u0060src/visualize/plot/GCxGC/GCxGCTIC2DPlot.vb\u0060 and \u0060src/visualize/plot/GCxGC/GCxGCTIC3DPeaks.vb\u0060) \u2014 run \u0060git show\u0060 on any of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/ComprehensiveMsPlot/GCxGC/GCxGCTIC2DPlot.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0cb67d0288ac3ba3b9e3bf83773981df1c738ff1280f680d822495d95394a54a"}},{"ruleId":"D35","level":"warning","message":{"text":"Change-coupling hub: PeakTablePlot.vb \u2192 GCxGCTIC2DPlot.vb, ChromatogramPeakPlot.vb, TICplot.vb, PeakAssign.vb, RawScatterPlot.vb: \u0060src/visualize/plot/PeakTablePlot.vb\u0060 changes together with 5 other files \u2014 \u0060src/visualize/ComprehensiveMsPlot/GCxGC/GCxGCTIC2DPlot.vb\u0060, \u0060src/visualize/plot/ChromatogramPlot/ChromatogramPeakPlot.vb\u0060, \u0060src/visualize/plot/ChromatogramPlot/TICplot.vb\u0060, \u0060src/visualize/plot/PeakAssign.vb\u0060, \u0060src/visualize/plot/RawScatterPlot.vb\u0060 \u2014 none of which declares a dependency on it: one file is the hub of 5 separate couplings, not 5 unrelated pairs. Read the hub first: if the others each duplicate a part of what it does, the shared concern belongs in ONE unit and extracting it clears every edge at once; if the hub is a registry, dispatcher or barrel that must name each of them, the coupling is structural and the question is whether that list can be discovered instead of enumerated. Fixing the hub is one change; breaking the couplings one pair at a time is 5."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/visualize/plot/PeakTablePlot.vb"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a2ef40fbe43916a1a1823101331b2c5d24fc3f1bf4651daa656b5aa12b8d0469"}},{"ruleId":"D37","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"9d03e50e45de791a350ebf595fcb3269575c0543260ac6707c4b73e65639738e"}},{"ruleId":"D44","level":"warning","message":{"text":"End-of-life runtime: .NET net6.0: src/mzmath/Oligonucleotide_MS/test/test.vbproj declares .NET net6.0 as this project\u0027s target framework, and .NET 6 LTS, support ended 2024-11-12. An unsupported runtime receives no security patches, so every vulnerability disclosed in it since 2024-11-12 is present and unfixable without moving off it. This is a migration rather than an upgrade: there is no newer release of a runtime that has ended."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/mzmath/Oligonucleotide_MS/test/test.vbproj"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"833052aef8fed8fff4f2fedf55a392e3e58dc048b7b988c82a469d1d41453aa6"}},{"ruleId":"AX6","level":"note","message":{"text":"Fat interface: ICrossReference (20 members): \u0060ICrossReference\u0060 declares 20 members: \u0060chebi\u0060, \u0060KEGG\u0060, \u0060KEGGdrug\u0060, \u0060pubchem\u0060, \u0060HMDB\u0060, \u0060metlin\u0060, \u0060DrugBank\u0060, \u0060ChEMBL\u0060, \u0060Wikipedia\u0060, \u0060lipidmaps\u0060, \u0060MeSH\u0060, \u0060ChemIDplus\u0060, \u0060MetaCyc\u0060, \u0060KNApSAcK\u0060, \u0060foodb\u0060, \u0060chemspider\u0060, \u0060CAS\u0060, \u0060InChIkey\u0060, \u0060InChI\u0060, \u0060SMILES\u0060. Counted as the author wrote them \u2014 a property is ONE member and its get/set accessors are not counted separately, and an event counts once. A wide interface forces every implementer and caller to depend on methods they don\u0027t use (the Interface-Segregation \u0027I\u0027 in SOLID). Split it into focused role-interfaces."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/metadb/Chemoinformatics/Metabolite/CrossReference/CrossReference.vb"},"region":{"startLine":67}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd8c6d329e1c27377cb74b3ce10d045470020ea18deeb4e5bea157292e5cc0cd"}},{"ruleId":"M1","level":"warning","message":{"text":"README may be stale: 220 code files changed in the last 6 months but the README was not touched \u2014 it may no longer reflect the system."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"e973e7a8d5d866995cbf78b120250fe7f132bf928812d48ca62e69aba11b9910"}},{"ruleId":"M2","level":"note","message":{"text":"No ADRs: No Architecture Decision Records found \u2014 no conventional ADR directory, no numbered \u0060NNNN-title\u0060 documents in any markup this check reads, and nothing ADR-shaped by content. Design rationale recorded elsewhere (a design-notes tree, a mailing list, pull-request discussion) is not visible to this check and is not re-findable per decision, so a future maintainer cannot ask why one choice was made and get an answer."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"670b3d6e36a756d63097d0dfbf90afd5fc761308800b9354894a07c3f4e4aa14"}},{"ruleId":"M2","level":"note","message":{"text":"No architecture diagram/doc: No C4/Structurizr/PlantUML/Mermaid/Graphviz/D2 diagram, no drawn diagram named for the architecture, no file named \u0060architecture\u0060 or \u0060design\u0060 in any markup this check reads, and nothing in the README, docs or contributor guides that announces the shape \u2014 no \u0060## Architecture\u0060 heading, no \u0022architecture overview\u0022/\u0022high-level design\u0022 phrasing, no \u0022the architecture is \u2026\u0022 introduction, no guided code tour. A shape laid out in prose that never names itself as the architecture is not visible to this check, and neither is one kept outside the repository, so this row reports the absence of a re-findable shape document \u2014 not evidence that nobody wrote the shape down."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"0c190e7c159d1850ee706c3ac4486e151e8a4fe169de4bf61436b9f399654f06"}},{"ruleId":"M3","level":"note","message":{"text":"Inconsistent root namespaces: Only 40/75 projects share a common root namespace \u2014 the code\u0027s module identity is inconsistent."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"c8031c9fb77ad97c2e4a8ddb29978f4bf30140d481913bd7fde8b5adbbb83ede"}},{"ruleId":"P1","level":"warning","message":{"text":"No CI pipeline: No CI workflow found (.github/workflows, azure-pipelines.yml, .gitlab-ci.yml, \u2026) \u2014 changes aren\u0027t gated by an automated build/test."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"44f01af96e50474fba2df84d95ddf4f7e1d34c29c307830b9efc9057daa6b670"}},{"ruleId":"P3","level":"note","message":{"text":"No SAST: No static application security testing detected. For this repository\u0027s stack, add a Roslyn security analyzer package referenced from the project (the analyzer packages do analyse VB.NET), plus gitleaks for committed secrets \u2014 CodeQL has no VB.NET extractor, so its csharp pack would extract nothing from this tree and then report it clean \u2014 this repository has no CI pipeline yet, so run it locally to clear the existing findings, then make it a step of the first workflow you add so a regression fails the build. What was searched, so you can tell an absence from a miss: the 0 CI workflow file(s) in this repository, and the scanner and linter configuration checked in beside them. A scan that runs outside CI, one configured in your forge\u0027s web UI rather than in a committed file, or a tool whose name is none of those this check carries, is not seen \u2014 if that is your case the row is wrong, and saying so is more useful than adding a second scanner."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"6e54424179c892f03ef2fd003130ac4bd43f39bbf3b1ca0a0143e25acb80ec87"}},{"ruleId":"S1","level":"warning","message":{"text":"Third-party script without Subresource Integrity: \u0060https://query.biodeep.cn/resources/vendor/jquery-3.7.1.min.js\u0060 is executed by this page with no Subresource Integrity. Whoever can answer that request \u2014 the CDN, anyone who compromises it, anyone on the network path \u2014 runs arbitrary script in this page\u0027s origin, with its session. The URL also names no version, so it resolves to whatever that origin serves at fetch time \u2014 the executed bytes can change with nobody touching this repository. 2536 such include(s) across the repository\u0027s markup."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"Rscript/Library/mzkit_app/data/MRM/linears.html"},"region":{"startLine":15}}}],"partialFingerprints":{"codehealthFindingId/v1":"260535e1d9e4b5e2176ff8c0e43c626bb61a48ec35970a6f52e94c312d54d6d9"}},{"ruleId":"SC1","level":"warning","message":{"text":"NuGet dependencies are not locked: No packages.lock.json and no central package management \u2014 restores aren\u0027t reproducible or pinned (SSDF PW.4.4). Enable \u003CRestorePackagesWithLockFile\u003Etrue\u003C/RestorePackagesWithLockFile\u003E (commit the lockfile) or adopt Directory.Packages.props. Advisory \u2014 never scored."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"0a97b4f69ccac509400ece7eedefb06d3ede0522cd4d8bcb5c068bea719545a6"}}],"taxonomies":[{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d","organization":"MITRE","informationUri":"https://cwe.mitre.org/","isComprehensive":false,"shortDescription":{"text":"The MITRE Common Weakness Enumeration (CWE)."},"taxa":[{"id":"CWE-1059","guid":"a2381a08-60f6-9554-a8b8-f3018cfaaca5","name":"Insufficient Technical Documentation","shortDescription":{"text":"Insufficient Technical Documentation"},"helpUri":"https://cwe.mitre.org/data/definitions/1059.html"},{"id":"CWE-1395","guid":"800e09e7-c11a-8654-9fa6-86f398995fed","name":"Dependency on Vulnerable Third-Party Component","shortDescription":{"text":"Dependency on Vulnerable Third-Party Component"},"helpUri":"https://cwe.mitre.org/data/definitions/1395.html"},{"id":"CWE-259","guid":"ae9ad959-fbb6-9d5e-892d-3dca66da0b69","name":"Use of Hard-coded Password","shortDescription":{"text":"Use of Hard-coded Password"},"helpUri":"https://cwe.mitre.org/data/definitions/259.html"},{"id":"CWE-319","guid":"7af97476-9f0d-4458-9163-3d2043918a1a","name":"Cleartext Transmission of Sensitive Information","shortDescription":{"text":"Cleartext Transmission of Sensitive Information"},"helpUri":"https://cwe.mitre.org/data/definitions/319.html"},{"id":"CWE-506","guid":"401d6455-56e3-0552-9a39-f77461673e3f","name":"Embedded Malicious Code","shortDescription":{"text":"Embedded Malicious Code"},"helpUri":"https://cwe.mitre.org/data/definitions/506.html"},{"id":"CWE-540","guid":"1a9db5db-e5bb-ae5d-935a-d1b4e9ee080b","name":"Inclusion of Sensitive Information in Source Code","shortDescription":{"text":"Inclusion of Sensitive Information in Source Code"},"helpUri":"https://cwe.mitre.org/data/definitions/540.html"},{"id":"CWE-611","guid":"1afbae66-ea29-2d59-aaa2-134e3ae2e85a","name":"Improper Restriction of XML External Entity Reference","shortDescription":{"text":"Improper Restriction of XML External Entity Reference"},"helpUri":"https://cwe.mitre.org/data/definitions/611.html"},{"id":"CWE-676","guid":"550e6fab-2881-3252-8a05-c688a6b19c14","name":"Use of Potentially Dangerous Function","shortDescription":{"text":"Use of Potentially Dangerous Function"},"helpUri":"https://cwe.mitre.org/data/definitions/676.html"},{"id":"CWE-77","guid":"332c8ade-6612-9f56-a06b-d8d90b1a8750","name":"Improper Neutralization of Special Elements used in a Command (\u0027Command Injection\u0027)","shortDescription":{"text":"Improper Neutralization of Special Elements used in a Command (\u0027Command Injection\u0027)"},"helpUri":"https://cwe.mitre.org/data/definitions/77.html"},{"id":"CWE-78","guid":"2e31ceaf-c7ae-2e5e-9661-cfb1362789cf","name":"Improper Neutralization of Special Elements used in an OS Command (\u0027OS Command Injection\u0027)","shortDescription":{"text":"Improper Neutralization of Special Elements used in an OS Command (\u0027OS Command Injection\u0027)"},"helpUri":"https://cwe.mitre.org/data/definitions/78.html"},{"id":"CWE-79","guid":"fd45580b-e8c4-fc5e-8c2f-aa8fab0b4dbf","name":"Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)","shortDescription":{"text":"Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)"},"helpUri":"https://cwe.mitre.org/data/definitions/79.html"},{"id":"CWE-798","guid":"5e8f057d-fee3-995a-a0cb-9fc5b0d174d1","name":"Use of Hard-coded Credentials","shortDescription":{"text":"Use of Hard-coded Credentials"},"helpUri":"https://cwe.mitre.org/data/definitions/798.html"},{"id":"CWE-89","guid":"6d08fdad-37eb-c150-bbf0-d7d946863407","name":"Improper Neutralization of Special Elements used in an SQL Command (\u0027SQL Injection\u0027)","shortDescription":{"text":"Improper Neutralization of Special Elements used in an SQL Command (\u0027SQL Injection\u0027)"},"helpUri":"https://cwe.mitre.org/data/definitions/89.html"},{"id":"CWE-937","guid":"16f316ae-415c-b354-a59b-1f7905f756e9","name":"Using Components with Known Vulnerabilities","shortDescription":{"text":"Using Components with Known Vulnerabilities"},"helpUri":"https://cwe.mitre.org/data/definitions/937.html"},{"id":"CWE-94","guid":"75e7f50c-6c2f-dd52-bf40-bf6c52b861fd","name":"Improper Control of Generation of Code (\u0027Code Injection\u0027)","shortDescription":{"text":"Improper Control of Generation of Code (\u0027Code Injection\u0027)"},"helpUri":"https://cwe.mitre.org/data/definitions/94.html"}]},{"name":"OWASP Top 10","guid":"7d1f0c2e-4b6a-4e39-9a51-0b2e8c3d5f61","version":"2025","organization":"OWASP Foundation","informationUri":"https://top10.owasp.org/2025/","isComprehensive":false,"shortDescription":{"text":"The OWASP Top 10:2025 web application security risks."},"taxa":[{"id":"A01:2025","guid":"df693558-c822-0452-8f7b-4d53cb6bcc59","name":"Broken Access Control","shortDescription":{"text":"Broken Access Control"},"helpUri":"https://top10.owasp.org/2025/A01_2025-Broken_Access_Control/"},{"id":"A02:2025","guid":"668dee9e-41bc-6354-97d0-fdf8f40c50c1","name":"Security Misconfiguration","shortDescription":{"text":"Security Misconfiguration"},"helpUri":"https://top10.owasp.org/2025/A02_2025-Security_Misconfiguration/"},{"id":"A03:2025","guid":"168e227c-7735-2e57-bc6e-997affe644c5","name":"Software Supply Chain Failures","shortDescription":{"text":"Software Supply Chain Failures"},"helpUri":"https://top10.owasp.org/2025/A03_2025-Software_Supply_Chain_Failures/"},{"id":"A04:2025","guid":"6a9f5bfd-1a56-6453-beec-a7eff0ba3007","name":"Cryptographic Failures","shortDescription":{"text":"Cryptographic Failures"},"helpUri":"https://top10.owasp.org/2025/A04_2025-Cryptographic_Failures/"},{"id":"A05:2025","guid":"87e86033-3231-8458-8e4a-5cb82743553a","name":"Injection","shortDescription":{"text":"Injection"},"helpUri":"https://top10.owasp.org/2025/A05_2025-Injection/"},{"id":"A06:2025","guid":"491554d7-b8e4-9652-91a9-53700dc92ece","name":"Insecure Design","shortDescription":{"text":"Insecure Design"},"helpUri":"https://top10.owasp.org/2025/A06_2025-Insecure_Design/"},{"id":"A07:2025","guid":"334ddd78-539d-d35c-83dd-253647eb7eaf","name":"Authentication Failures","shortDescription":{"text":"Authentication Failures"},"helpUri":"https://top10.owasp.org/2025/A07_2025-Authentication_Failures/"},{"id":"A08:2025","guid":"84b0c297-710e-9a5f-9335-936ecb260c36","name":"Software or Data Integrity Failures","shortDescription":{"text":"Software or Data Integrity Failures"},"helpUri":"https://top10.owasp.org/2025/A08_2025-Software_or_Data_Integrity_Failures/"}]}],"properties":{"codehealthPublication":{"public":true,"notice":"This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings \u2014 which rule fired, in which file, on which line, and how to fix it \u2014 are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.","securityFindingsRedacted":118,"secretScannerRunsExcluded":0}},"redactionTokens":["A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."]}]}