@Nonnull
	public AssemblerPipeline<? extends ClassInfo, ? extends ClassResult, ? extends ClassRepresentation> getPipeline(@Nonnull PathNode<?> path) {
		ClassInfo info = path.getValueOfType(ClassInfo.class);
		if (info == null)
			throw new IllegalStateException("Failed to find class info for node: " + path);
		if (info.isJvmClass()) {
			Workspace workspace = Objects.requireNonNullElseGet(path.getValueOfType(Workspace.class), EmptyWorkspace::get);
			return newJvmAssemblerPipeline(workspace);
		} else {
			// TODO: Implement when dalvik assembler pipeline is implemented
			throw new UnsupportedOperationException("Dalvik assembler pipeline is not implemented");
		}
	}
Automatically pick a pipeline for the content in the given path.

@param path
		Path to some item in the workspace to get an assembler pipeline for.

@return Either a {@link JvmAssemblerPipeline} or {@link AndroidAssemblerPipeline} based on the path contents.
recaf-core/src/main/java/software/coley/recaf/services/assembler/AssemblerPipelineManager.java