@Override
 public int hashCode() {
   int result = myFile.hashCode();
   result = 31 * result + (myProject != null ? myProject.hashCode() : 0);
   result = 31 * result + myFlags;
   return result;
 }
  @Override
  public boolean equals(final Object o) {
    if (this == o) return true;
    if (!(o instanceof FileIconKey)) return false;

    final FileIconKey that = (FileIconKey) o;

    if (myFlags != that.myFlags) return false;
    if (!myFile.equals(that.myFile)) return false;
    if (myProject != null ? !myProject.equals(that.myProject) : that.myProject != null)
      return false;

    return true;
  }