public IProjectBuilder <TSourceQuery> By(string name, Func <TSourceQuery, IGremlinQuery> projection) { return(new ProjectBuilderImpl <TSourceQuery>( _sourceQuery, Projections.SetItem(name, projection(_sourceQuery)))); }