@Override
  @NotNull
  public JComponent getComponent() {
    ThreadingAssertions.assertEventDispatchThread();
    if (myMainPanel == null) {
      myMainPanel = new JPanel(new BorderLayout());
      myJLayeredPane = new MyDiffContainer(myMainPanel, createCompositeFilter().getUpdateMessage());
      Disposer.register(this, myJLayeredPane);
      add(myJLayeredPane, BorderLayout.CENTER);
    }

    if (getEditor() == null) {
      EditorEx editor = initConsoleEditor();
      synchronized (LOCK) {
        myEditor = editor;
      }
      requestFlushImmediately();
      myMainPanel.add(createCenterComponent(), BorderLayout.CENTER);
    }
    return this;
  }
@Override
  @NotNull
  public JComponent getComponent()