public boolean hasChanges() {
    lockData();
    try {
      if (!myDeletedPaths.isEmpty()) {
        return true;
      }
      if(!myFilesToRecompile.isEmpty()) {
        for (Set<File> files : myFilesToRecompile.values()) {
          if (!files.isEmpty()) {
            return true;
          }
        }
      }
      return false;
    }
    finally {
      unlockData();
    }
  }
public boolean hasChanges()