@Override
  public Result calculateResult(Expression @NotNull [] params, ExpressionContext context) {
    String[] names = getNames(context);
    if (names == null || names.length == 0) return null;
    return new TextResult(names[0]);
  }
@Override
  public Result calculateResult(Expression @NotNull [] params, ExpressionContext context)