code: public static Junction<?> junction(String operator, Val<Expression>[] args, Junction.Type type,
                                         EbeanExprInvoker invoker, int checkCount) {
          if (args.length > checkCount) {
              Query query = invoker.getQuery();
              Junction junction = factory(invoker).junction(type, query, query.where());
              fillArgs(operator, args, junction);
              return junction;
          }
          throw new QuerySyntaxException(Messages.get("dsl.arguments.error2", operator, checkCount));
      }
docs: <p>junction.</p>
  
  @param operator a {@link java.lang.String} object.
  @param args an array of {@link ameba.db.dsl.QueryExprMeta.Val} objects.
  @param type a {@link io.ebean.Junction.Type} object.
  @param invoker a {@link ameba.db.ebean.filter.EbeanExprInvoker} object.
  @param checkCount a int.
  @return a {@link io.ebean.Junction} object.