code: public static Projection array(String pattern,
                                     Query match,
                                     boolean include,
                                     Projection projection,
                                     Sort sort) {
          Projection p = new Projection(false);
          p.add("field", pattern).add("include", include).add("match", match.toJson());
          if (projection != null) {
              p.add("projection", projection.toJson());
          }
          if (sort != null) {
              p.add("sort", sort.toJson());
          }
          return p;
      }
docs: <pre>
  { field: <pattern>, include: <include>, match: <query>, projection: <projection>, sort: <sort> }
  </pre>