code: @Override
      public void exitSourceElement(QueryParser.SourceElementContext ctx) {
          if (queryExprMeta != null) {
              String op = queryExprMeta.operator();
              if (op == null) {
                  String co = queryExprMeta.field();
                  if (co != null && queryExprMeta.arguments() == null) {
                      int offset = co.lastIndexOf('.');
                      if (offset == -1) {
                          if (queryExprMeta.parent() == null) {
                              queryExprMeta.operator(co);
                              queryExprMeta.field(null);
                          } else {
                              List<Val<?>> args = queryExprMeta.parent().arguments();
                              int argOffset = -1;
                              for (int i = 0; i < args.size(); i++) {
                                  Val val = args.get(i);
                                  if (queryExprMeta.equals(val.object())) {
                                      argOffset = i;
                                      break;
                                  }
                              }
                              if (argOffset != -1) {
                                  args.set(argOffset, Val.of(co));
                                  queryExprMeta = null;
                              }
                          }
                      } else {
                          queryExprMeta.field(co.substring(0, offset));
                          queryExprMeta.operator(co.substring(offset + 1));
                      }
                  }
              }
          }
      }
docs: {@inheritDoc}