docs: @Override
    public boolean maybeAddRead(Read read) {
      if (!isUnmappedMateOfMappedRead(read)) {
        return false;
      }
      final String reference = read.getNextMatePosition().getReferenceName();
      String key = getReadKey(read);
      Map<String, ArrayList<Read>> reads = unmappedReads.get(reference);
      if (reads == null) {
        reads = new HashMap<String, ArrayList<Read>>();
        unmappedReads.put(reference, reads);
      }
      ArrayList<Read> mates = reads.get(key);
      if (mates == null) {
        mates = new ArrayList<Read>();
        reads.put(key, mates);
      }
      if (getReadCount() < MAX_READS) {
        mates.add(read);
        readCount++;
        return true;
      } else {
        LOG.warning("Reached the limit of in-memory unmapped mates for injection.");
      }
      return false;
    }