@Nonnull
	static JvmClassInfo applyFilters(@Nonnull Workspace workspace, @Nonnull JvmClassInfo initialClassInfo,
	                                 @Nonnull Collection<JvmBytecodeFilter> bytecodeFilters) {
		JvmClassInfo filteredBytecode;
		if (bytecodeFilters.isEmpty()) {
			filteredBytecode = initialClassInfo;
		} else {
			boolean dirty = false;
			byte[] bytecode = initialClassInfo.getBytecode();
			for (JvmBytecodeFilter filter : bytecodeFilters) {
				byte[] filtered = filter.filter(workspace, initialClassInfo, bytecode);
				if (filtered != bytecode) {
					bytecode = filtered;
					dirty = true;
				}
			}
			filteredBytecode = dirty ? initialClassInfo.toJvmClassBuilder().adaptFrom(bytecode).build() : initialClassInfo;
		}
		return filteredBytecode;
	}
@param workspace
		The workspace the class is from.
@param initialClassInfo
		Initial information about the class, before any filtering <i>(by other filters)</i> has been applied.
@param bytecodeFilters
		Collection of filters to apply to the class.

@return Filtered class model.
recaf-core/src/main/java/software/coley/recaf/services/decompile/filter/JvmBytecodeFilter.java