code: public static Bson lookup(final String from, final String localField, final String foreignField, final String as) {
          return new BsonDocument("$lookup", new BsonDocument("from", new BsonString(from))
                                                     .append("localField", new BsonString(localField))
                                                     .append("foreignField", new BsonString(foreignField))
                                                     .append("as", new BsonString(as)));
      }
docs: Creates a $lookup pipeline stage, joining the current collection with the one specified in from
  using equality match between the local field and the foreign field
  
  @param from         the name of the collection in the same database to perform the join with.
  @param localField   the field from the local collection to match values against.
  @param foreignField the field in the from collection to match values against.
  @param as           the name of the new array field to add to the input documents.
  @return the $lookup pipeline stage
  @mongodb.driver.manual reference/operator/aggregation/lookup/ $lookup
  @mongodb.server.release 3.2
  @since 3.2