protected ExpressionEvaluator getEvaluator(final Project project) throws EvaluateException {
    Cache cache = myCache.get();
    if (cache == null) {
      cache = PsiDocumentManager.getInstance(project).commitAndRunReadAction(() -> initEvaluatorAndChildrenExpression(project));
    }

    if (cache.myException != null) {
      throw cache.myException;
    }

    return cache.myEvaluator;
  }
protected ExpressionEvaluator getEvaluator(final Project project)