@Override
  protected int calcHashCode() {
    int result = 0;
    TextRange[] ranges = getRanges();
    VirtualFile[] files = getVirtualFiles();
    if (files.length > 0) {
      result += files[0].hashCode();
    }
    for (TextRange range : ranges) {
      result += range.hashCode();
    }
    return result;
  }
@Override
  protected int calcHashCode()