protected byte[] findBasesByName(String name, boolean tryVariants) {
		if (rsFile == null || !rsFile.isIndexed())
			return null;

		ReferenceSequence sequence = null;
		if (fastaSequenceIndex != null)
			if (fastaSequenceIndex.hasIndexEntry(name))
				sequence = rsFile.getSequence(name);
			else
				sequence = null;

		if (sequence != null)
			return sequence.getBases();

		if (tryVariants) {
			for (String variant : getVariants(name)) {
				try {
					sequence = rsFile.getSequence(variant);
				} catch (Exception e) {
					log.info("Sequence not found: " + variant);
				}
				if (sequence != null) {
					log.debug("Reference found in memory cache for name %s by variant %s", name, variant);
					return sequence.getBases();
				}
			}
		}
		return null;
	}