code: private void fetchMissingRecords() throws IOException {
          logger.debug("Records includes:");
          records.forEach(r -> logger.debug("{}", r));
          for (PtrRecord ptr : records.stream().filter(r -> r instanceof PtrRecord).map(r -> (PtrRecord) r).collect(Collectors.toList())) {
              fetchMissingSrvRecordsFor(ptr);
              fetchMissingTxtRecordsFor(ptr);
          }
          for (SrvRecord srv : records.stream().filter(r -> r instanceof SrvRecord).map(r -> (SrvRecord) r).collect(Collectors.toList())) {
              fetchMissingAddressRecordsFor(srv);
          }
      }
docs: Verify that each PTR record has corresponding SRV, TXT, and either A or AAAA records.
  Request any that are missing.