@Override
	public FileAttributes getFileAttributes(GFile file, TaskMonitor monitor) {
		TarMetadata tmd = fsIndex.getMetadata(file);
		if (tmd == null) {
			return FileAttributes.EMPTY;
		}
		TarArchiveEntry blob = tmd.tarArchiveEntry;
		return FileAttributes.of(
			FileAttribute.create(NAME_ATTR, FilenameUtils.getName(blob.getName())),
			FileAttribute.create(SIZE_ATTR, blob.getSize()),
			FileAttribute.create(MODIFIED_DATE_ATTR, blob.getLastModifiedDate()),
			FileAttribute.create(FILE_TYPE_ATTR, tarToFileType(blob)),
			FileAttribute.create(USER_NAME_ATTR, blob.getUserName()),
			FileAttribute.create(GROUP_NAME_ATTR, blob.getGroupName()),
			FileAttribute.create(USER_ID_ATTR, blob.getLongUserId()),
			FileAttribute.create(GROUP_ID_ATTR, blob.getLongGroupId()),
			FileAttribute.create(UNIX_ACL_ATTR, (long) blob.getMode()),
			blob.isSymbolicLink()
					? FileAttribute.create(SYMLINK_DEST_ATTR, blob.getLinkName())
					: null);
	}
Creates a new TarFileSystem instance.

@param fsrl {@link FSRLRoot} of the new filesystem.
@param provider {@link ByteProvider} container file
@param fsService reference to the {@link FileSystemService}.
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/tar/TarFileSystem.java