code: def chk(self, annotations, fout_err):
          
          for idx, ntd in enumerate(annotations):
              self._chk_fld(ntd, "Qualifier")        # optional 0 or greater
              self._chk_fld(ntd, "DB_Reference", 1)  # required 1 or greater
              self._chk_fld(ntd, "With_From")        # optional 0 or greater
              self._chk_fld(ntd, "DB_Name", 0, 1)    # optional 0 or 1
              self._chk_fld(ntd, "DB_Synonym")       # optional 0 or greater
              self._chk_fld(ntd, "Taxon", 1, 2)
              flds = list(ntd)
              self._chk_qty_eq_1(flds)
              # self._chk_qualifier(ntd.Qualifier, flds, idx)
              if not ntd.Taxon or len(ntd.Taxon) not in {1, 2}:
                  self.illegal_lines['BAD TAXON'].append((idx, '**{I}) TAXON: {NT}'.format(I=idx, NT=ntd)))
          if self.illegal_lines:
              self.prt_error_summary(fout_err)
          return not self.illegal_lines
docs: Check annotations.