class MultiProcessor extends DefaultProcessor implements Processor {

    @Override
    public String getDisplayName() {
        return NbBundle.getMessage(MergeProcessor.class, "MultiProcessor.displayName");
    }

    @Override
    public void process() {<FILL_FUNCTION_BODY>}
}

        try {
            if (containers.length <= 1) {
                throw new RuntimeException("This processor can only handle multiple containers");
            }

            ProjectController pc = Lookup.getDefault().lookup(ProjectController.class);

            Progress.start(progressTicket, calculateWorkUnits());
            for (ContainerUnloader container : containers) {
                if (workspace != null) {
                    pc.openWorkspace(workspace);
                } else {
                    workspace = pc.newWorkspace(pc.getCurrentProject());
                }
                processMeta(container, workspace);
                processConfiguration(container, workspace);
                process(container, workspace);
                workspace = null;
            }
            Progress.finish(progressTicket);
        } finally {
            clean();
        }
    
<methods>public non-sealed void <init>() ,public java.lang.String getDisplayName() ,public void process() <variables>