@Nonnull
	@Override
	public IconProvider getResourceIconProvider(@Nonnull Workspace workspace,
												@Nonnull WorkspaceResource resource) {
		if (resource instanceof WorkspaceDirectoryResource)
			return PROVIDER_DIR;
		if (resource instanceof WorkspaceFileResource fileResource) {
			FileInfo file = fileResource.getFileInfo();
			if (file instanceof ApkFileInfo || file instanceof DexFileInfo || file instanceof ArscFileInfo)
				return PROVIDER_ANDROID;
			if (file instanceof JarFileInfo || file instanceof WarFileInfo || file instanceof JModFileInfo)
				return PROVIDER_JAR;
			if (file instanceof TextFileInfo)
				return PROVIDER_TEXT;
			if (ByteHeaderUtil.match(file.getRawContent(), ByteHeaderUtil.CLASS))
				return PROVIDER_CLASS;
			if (ByteHeaderUtil.matchAny(file.getRawContent(), ByteHeaderUtil.PROGRAM_HEADERS))
				return PROVIDER_PROGRAM;
			if (ByteHeaderUtil.matchAny(file.getRawContent(), ByteHeaderUtil.IMAGE_HEADERS))
				return PROVIDER_IMAGE;
			if (ByteHeaderUtil.matchAny(file.getRawContent(), ByteHeaderUtil.AUDIO_HEADERS))
				return PROVIDER_AUDIO;
		}
		if (resource instanceof GeneratedPhantomWorkspaceResource)
			return PROVIDER_PHANTOM;
		return PROVIDER_ZIP;
	}
Basic implementation for {@link PackageIconProviderFactory}.

@author Matt Coley
recaf-ui/src/main/java/software/coley/recaf/services/cell/icon/BasicResourceIconProviderFactory.java