private void addRec(CryptoRec rec) {
		// index the record by its full FSRL, a simplified FSRL, its plain filename, and any MD5 
		String fsrlStr = rec.fsrl.toString();
		boolean isNewValue =
			addIfUnique(values.computeIfAbsent(fsrlStr, x -> new ArrayList<>()), rec);

		String fsrlStr2 = rec.fsrl.toPrettyString();
		if (!fsrlStr2.equals(fsrlStr)) {
			addIfUnique(values.computeIfAbsent(fsrlStr2, x -> new ArrayList<>()), rec);
		}

		addIfUnique(values.computeIfAbsent(rec.fsrl.getName(), x -> new ArrayList<>()), rec);

		if (rec.fsrl.getMD5() != null) {
			addIfUnique(values.computeIfAbsent(rec.fsrl.getMD5(), x -> new ArrayList<>()), rec);
		}

		if (isNewValue) {
			count++;
		}
	}
Adds a password / file combo to the cache.

@param fsrl {@link FSRL} file
@param password password to unlock the file.  Specified {@link Password} is
only copied, clearing is still callers responsibility
Ghidra/Features/Base/src/main/java/ghidra/formats/gfilesystem/crypto/CachedPasswordProvider.java