private void editProcessor() {
        final ProcessorListRow selectedProcessor = processorListPresenter.getSelectionModel().getSelected();
        if (selectedProcessor != null) {
            if (selectedProcessor instanceof ProcessorFilterRow) {
                final ProcessorFilterRow processorFilterRow = (ProcessorFilterRow) selectedProcessor;
                final ProcessorFilter filter = processorFilterRow.getProcessorFilter();

                restFactory
                        .create(PROCESSOR_FILTER_RESOURCE)
                        .method(res -> res.fetch(filter.getId()))
                        .onSuccess(loadedFilter -> {
                            if (loadedFilter == null) {
                                AlertEvent.fireError(
                                        ProcessorPresenter.this,
                                        "Unable to load filter",
                                        null);
                            } else {
                                edit(loadedFilter, null);
                            }
                        })
                        .taskMonitorFactory(this)
                        .exec();
            }
        }
    }
Make a copy of the currently selected processor
stroom-core-client/src/main/java/stroom/processor/client/presenter/ProcessorPresenter.java