class BeamSqlFnExecutor implements BeamSqlExpressionExecutor {

  static BeamSqlExpression buildExpression(RexNode rexNode) {
    BeamSqlExpression ret = getBeamSqlExpression(rexNode);

    if (!ret.accept()) {
      throw new IllegalStateException(
          ret.getClass().getSimpleName() + " does not accept the operands.(" + rexNode + ")");
    }

    return ret;
  }

  public  BeamSqlFnExecutor(RexProgram program);

}