class KieMultipleDocumentEditor implements KieMultipleDocumentEditorPresenter<D> {

    @Override
    public void registerDocument(final D document) {
        PortablePreconditions.checkNotNull("document",
                                           document);

        if (documents.contains(document)) {
            return;
        }

        documents.add(document);
        registeredDocumentsMenuBuilder.registerDocument(document);

        //Setup concurrent modification handlers
        final ObservablePath path = document.getLatestPath();

        path.onRename(() -> refresh(document));
        path.onConcurrentRename((info) -> doConcurrentRename(document,
                                                             info));

        path.onDelete(() -> {
            enableMenus(false);
            removeDocument(document);
            deregisterDocument(document);
        });
        path.onConcurrentDelete((info) -> {
            doConcurrentDelete(document,
                               info);
        });

        path.onConcurrentUpdate((eventInfo) -> document.setConcurrentUpdateSessionInfo(eventInfo));
    }

      KieMultipleDocumentEditor();
    public  KieMultipleDocumentEditor(final KieEditorView editorView);

}