code: public static Expression options(String operator, Val<Expression>[] args, QueryExprMeta parent) {
          if (args.length < 1) {
              throw new QuerySyntaxException(Messages.get("dsl.arguments.error2", operator, 0));
          }
          if (parent == null) {
              throw new QuerySyntaxException(Messages.get("dsl.arguments.error5", operator));
          }
          TextOptionsExpression op = new TextOptionsExpression();
          for (Val v : args) {
              if (v.object() instanceof MapExpression) {
                  MapExpression map = ((MapExpression) v.expr());
                  op.options.put(map.key, map.value);
              } else {
                  op.options.put(v.string(), null);
              }
          }
          return op;
      }
docs: <p>options.</p>
  
  @param operator a {@link java.lang.String} object.
  @param args an array of {@link ameba.db.dsl.QueryExprMeta.Val} objects.
  @param parent a {@link ameba.db.dsl.QueryExprMeta} object.
  @return a {@link io.ebean.Expression} object.