@Nullable
  @Override
  public Map<HMember, Equations> calcData(Project project, @NotNull VirtualFile file) {
    HashMap<HMember, Equations> map = new HashMap<>();
    if (isFileExcluded(file)) {
      return map;
    }
    try {
      ClassReader reader = new ClassReader(file.contentsToByteArray(false));
      Map<EKey, Equations> allEquations = processClass(reader, file.getPresentableUrl());
      solvePartially(reader.getClassName(), allEquations);
      allEquations.forEach((methodKey, equations) -> map.merge(methodKey.member.hashed(), hash(equations), MERGER));
    }
    catch (ProcessCanceledException e) {
      throw e;
    }
    catch (Throwable e) {
      // incorrect bytecode may result in Runtime exceptions during analysis
      // so here we suppose that exception is due to incorrect bytecode
      LOG.debug("Unexpected Error during indexing of bytecode", e);
    }
    ourIndexSizeStatistics.accept(map);
    return map;
  }
@Nullable
  @Override
  public Map<HMember, Equations> calcData(Project project, @NotNull VirtualFile file)