docs: protected void showFileWindow(String sourceUrl, int lineNumber) {
          FileWindow w;
          if (sourceUrl != null) {
              w = getFileWindow(sourceUrl);
          }
          else {
              JInternalFrame f = getSelectedFrame();
              if (f != null && f instanceof FileWindow) {
                  w = (FileWindow) f;
              }
              else {
                  w = currentWindow;
              }
          }
          if (w == null && sourceUrl != null) {
              Dim.SourceInfo si = dim.sourceInfo(sourceUrl);
              createFileWindow(si, -1);
              w = getFileWindow(sourceUrl);
          }
          if (w == null) {
              return;
          }
          if (lineNumber > -1) {
              int start = w.getPosition(lineNumber-1);
              int end = w.getPosition(lineNumber)-1;
              if (start <= 0) {
                  return;
              }
              w.textArea.select(start);
              w.textArea.setCaretPosition(start);
              w.textArea.moveCaretPosition(end);
          }
          try {
              if (w.isIcon()) {
                  w.setIcon(false);
              }
              w.setVisible(true);
              w.moveToFront();
              w.setSelected(true);
              requestFocus();
              w.requestFocus();
              w.textArea.requestFocus();
          } catch (Exception exc) {
          }
      }