@Override
  @NotNull
  public final C fun(ASTNode node) {
    try {
      return myConstructor.newInstance(node);
    } catch (Exception e) {
      throw new Error(e);
    }
  }
@Override
  @NotNull
  public final C fun(ASTNode node)