protected virtual ProjectionDefinition <T> CreateProjectionDefinition( ProjectionParams projection, ProjectionDefinitionBuilder <T> projectionBuilder) { projection = projection ?? new ProjectionParams(); return(projectionBuilder.Combine( projection.Select(field => projectionBuilder.Include(field)) ).Exclude(InternalIdFieldName)); }