private void updateEditorText() {
    disposeNonTextEditor();

    final ImplementationViewElement foundElement = mySwitcher.getCurrentElement();
    final Project project = foundElement.getProject();
    final VirtualFile vFile = foundElement.getContainingFile();
    if (vFile == null) return;

    for (ImplementationViewDocumentFactory documentFactory : ImplementationViewDocumentFactory.EP_NAME.getExtensions()) {
      Document document = documentFactory.createDocument(foundElement);
      if (document != null) {
        replaceEditor(project, vFile, documentFactory, document);
        return;
      }
    }

    for (FileEditorProvider provider : FileEditorProviderManager.getInstance().getProviderList(project, vFile)) {
      if (provider instanceof QuickDefinitionProvider) {
        updateTextElement(foundElement);
        myBinarySwitch.show(myViewingPanel, TEXT_PAGE_KEY);
        break;
      }
      else if (provider.accept(project, vFile)) {
        myCurrentNonTextEditorProvider = provider;
        myNonTextEditor = myCurrentNonTextEditorProvider.createEditor(project, vFile);
        myBinaryPanel.removeAll();
        myBinaryPanel.add(myNonTextEditor.getComponent());
        myBinarySwitch.show(myViewingPanel, BINARY_PAGE_KEY);
        break;
      }
    }
  }
private void updateEditorText()