code: public QueryBuilder withinPolygon(final List<Double[]> points) {
          notNull("points", points);
          if (points.isEmpty() || points.size() < 3) {
              throw new IllegalArgumentException("Polygon insufficient number of vertices defined");
          }
          addOperand(QueryOperators.WITHIN,
                     new BasicDBObject(QueryOperators.POLYGON, convertToListOfLists(points)));
          return this;
      }
docs: Equivalent to a $within operand, based on a bounding polygon represented by an array of points
  
  @param points an array of Double[] defining the vertices of the search area
  @return {@code this}