@Override
 public void documentChanged(DocumentEvent event) {
   myUpdateInProgress = false;
   if (!isSoftWrappingEnabled()) {
     return;
   }
   for (DocumentListener listener : myDocumentListeners) {
     listener.documentChanged(event);
   }
 }
 @Override
 public void beforeDocumentChange(DocumentEvent event) {
   myUpdateInProgress = true;
   if (!isSoftWrappingEnabled()) {
     myDirty = true;
     return;
   }
   for (DocumentListener listener : myDocumentListeners) {
     listener.beforeDocumentChange(event);
   }
 }