/** * Walks over the VCF header and repairs the standard VCF header lines in it, returning a freshly * allocated {@link VCFHeader} with standard VCF header lines repaired as necessary. */ public static VCFHeader repairStandardHeaderLines(final VCFHeader header) { final Set<VCFHeaderLine> newLines = new LinkedHashSet<VCFHeaderLine>(header.getMetaDataInInputOrder().size()); for (VCFHeaderLine line : header.getMetaDataInInputOrder()) { if (line instanceof VCFFormatHeaderLine) { line = formatStandards.repair((VCFFormatHeaderLine) line); } else if (line instanceof VCFInfoHeaderLine) { line = infoStandards.repair((VCFInfoHeaderLine) line); } newLines.add(line); } return new VCFHeader(newLines, header.getGenotypeSamples()); }