@Override
	public ByteProvider getByteProvider(GFile file, TaskMonitor monitor) throws IOException {
		file = fsIndex.resolveSymlinks(file);
		Ext4Inode inode;
		if (file == null || (inode = getInodeFor(file)) == null) {
			return null;
		}

		if (inode.isDir()) {
			throw new IOException(file.getName() + " is a directory.");
		}

		return getInodeByteProvider(inode, file.getFSRL(), monitor);
	}
Returns a {@link ByteProvider} that supplies the bytes of the requested file.

@param file {@link GFile} to get
@param monitor {@link TaskMonitor} to cancel
@return {@link ByteProvider} containing the bytes of the requested file, caller is
responsible for closing the ByteProvider
@throws IOException if error
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/ext4/Ext4FileSystem.java