@Override
	public byte[] readBytes(long index, long length) throws IOException {
		for (OverlayRange range : overlayList) {
			if (range.containsIndex(index)) {
				return range.getBytes(index, length);
			}
		}
		return provider.readBytes(index, length);
	}
This byte provider is used to store decompressed chunks at specific locations.
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/android/util/OverlayByteProvider.java