code: public ValidationResult check(Entry entry) {
          result = new ValidationResult();
  
          if (entry == null) {
              return result;
          }
  
          //collect all gene features
          Collection<Feature> geneFeatures =
                  SequenceEntryUtils.getFeatures(Feature.GENE_FEATURE_NAME, entry);
  
          if (geneFeatures.isEmpty()) {
              return result;
          }
  
          /**
           * which locus tag qualifiers are mapped to which gene features - should be an exclusive association
           */
          HashMap<String, Feature> locusTag2GeneFeature = new HashMap<String, Feature>();
  
          for (Feature geneFeature : geneFeatures) {
  
              List<Qualifier> locusQualifiers = geneFeature.getQualifiers(Qualifier.LOCUS_TAG_QUALIFIER_NAME);
              if (locusQualifiers.size() > 0) {
  
                  String locus_tag_name = locusQualifiers.get(0).getValue();//got other checks for multiple locus_tags
  
                  if (locusTag2GeneFeature.containsKey(locus_tag_name)) {
                      ValidationMessage<Origin> message =
                              reportError(result, geneFeature.getOrigin(), MESSAGE_ID, locus_tag_name);
                      message.append(locusTag2GeneFeature.get(locus_tag_name).getOrigin());
                  } else {
                      locusTag2GeneFeature.put(locus_tag_name, geneFeature);
                  }
  
              }
          }
  
          return result;
      }
docs: Checks the coverage of sequence by source features' locations.
  
  @param entry an entry to be checked (expected type is Entry)
  @return a validation result