public static PsiExpression getOrCreatePisExpression(GrExpression expr) {
    if (expr == null) return null;

    final SoftReference<PsiExpression> ref = expr.getUserData(PSI_EXPRESSION);
    final PsiExpression element = dereference(ref);
    if (element != null) return element;
    final PsiExpression newExpr = expr instanceof GrLiteral ? new GrSyntheticLiteralExpression((GrLiteral)expr) : new GrSyntheticExpression(expr);
    expr.putUserData(PSI_EXPRESSION, new SoftReference<>(newExpr));
    return newExpr;
  }
public static PsiExpression getOrCreatePisExpression(GrExpression expr)