public void copyFrom(FindModel model) {
    boolean changed = !equals(model);
    if (changed) {
      myStringToFind = model.myStringToFind;
      myStringToReplace = model.myStringToReplace;
      isReplaceState = model.isReplaceState;
      isWholeWordsOnly = model.isWholeWordsOnly;
      isFromCursor = model.isFromCursor;
      isForward = model.isForward;
      isGlobal = model.isGlobal;
      isRegularExpressions = model.isRegularExpressions;
      isCaseSensitive = model.isCaseSensitive;
      isMultipleFiles = model.isMultipleFiles;
      isPromptOnReplace = model.isPromptOnReplace;
      isReplaceAll = model.isReplaceAll;
      isProjectScope = model.isProjectScope;
      directoryName = model.directoryName;
      isWithSubdirectories = model.isWithSubdirectories;
      isPreserveCase = model.isPreserveCase;
      fileFilter = model.fileFilter;
      moduleName = model.moduleName;
      customScopeName = model.customScopeName;
      customScope = model.customScope;
      isCustomScope = model.isCustomScope;
      isFindAll = model.isFindAll;
      searchContext = model.searchContext;
      isMultiline = model.isMultiline;
      mySearchInProjectFiles = model.mySearchInProjectFiles;
      myPattern = model.myPattern;
      model.copyCopyableDataTo(this);
      notifyObservers();
    }
  }
public void copyFrom(FindModel model)