@Nonnull
	@Override
	public final DecompileResult decompile(@Nonnull Workspace workspace, @Nonnull JvmClassInfo classInfo) {
		// Get bytecode and run through filters.
		JvmClassInfo filteredBytecode = JvmBytecodeFilter.applyFilters(workspace, classInfo, bytecodeFilters);

		// Pass to implementation.
		DecompileResult result = decompileInternal(workspace, filteredBytecode);

		// Adapt output decompilation if output filters are registered.
		if (result.getType() == DecompileResult.ResultType.SUCCESS && result.getText() != null && !textFilters.isEmpty()) {
			String text = result.getText();
			for (OutputTextFilter filter : textFilters)
				text = filter.filter(workspace, classInfo, text);
			result = result.withText(text);
		}

		return result;
	}
@param name
		Decompiler name.
@param version
		Decompiler version.
@param config
		Decompiler configuration.
recaf-core/src/main/java/software/coley/recaf/services/decompile/AbstractJvmDecompiler.java