driver-core/src/main/com/mongodb/client/model/Aggregates.java
public static <TExpression> Bson lookup(final String from, @Nullable final List<Variable<TExpression>> let,
                                            final List<? extends Bson> pipeline, final String as) {
       return new LookupStage<TExpression>(from, let, pipeline, as);
    }
public static <TExpression> Bson lookup(final String from, @Nullable final List<Variable<TExpression>> let,
                                            final List<? extends Bson> pipeline, final String as) {
       return new LookupStage<TExpression>(from, let, pipeline, as);
    }
Creates a $lookup pipeline stage, joining the current collection with the one specified in from using the given pipeline

@param <TExpression> the Variable value expression type
@param from          the name of the collection in the same database to perform the join with.
@param let           the variables to use in the pipeline field stages.
@param pipeline      the pipeline to run on the joined collection.
@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.6
@since 3.7