@Override
      public void propertyChange(PropertyChangeEvent evt) {
        if ("JComponent.outline".equals(evt.getPropertyName())) {
          repaintParentScrollPane();
        }

        if ("document".equals(evt.getPropertyName())) {
          if (evt.getOldValue() instanceof Document document) {
            document.removeDocumentListener(documentListener);
          }
          if (evt.getNewValue() instanceof Document document) {
            document.addDocumentListener(documentListener);
          }
        }
      }
@Override
      public void propertyChange(PropertyChangeEvent evt)