public void testCheckHeader() {
   final AbstractDerivedAnnotation ann = new DummyDerivedAnnotation();
   assertEquals(
       "Derived annotation DUMMY missing required fields in VCF header (INFO fields: II) (FORMAT fields: FF)",
       ann.checkHeader(null, new String[] {"II"}, new String[] {"FF"}));
   final VcfHeader header = new VcfHeader();
   header.addInfoField("II", MetaType.INTEGER, VcfNumber.ONE, "Info Field");
   header.addFormatField("FF", MetaType.INTEGER, VcfNumber.ONE, "Format Field");
   final String res = ann.checkHeader(header, new String[] {"II"}, new String[] {"FF"});
   assertNull(res, res);
 }
 @Override
 public void updateHeader(VcfHeader header) {
   if (mFormats == null || mFormats.size() == 0) {
     return;
   }
   final Iterator<FormatField> it = header.getFormatLines().iterator();
   while (it.hasNext()) {
     final FormatField format = it.next();
     if (mKeepMode ^ mFormats.contains(format.getId())) {
       it.remove();
     }
   }
 }
 @Override
 public void updateHeader(VcfHeader header) {
   header.addFormatField(getField(), MetaType.FLOAT, VcfNumber.ONE, "AVR score");
 }