code: func (r *lsRun) parseBaseRequest(ctx context.Context) (*pb.SearchBuildsRequest, error) {
  	ret := &pb.SearchBuildsRequest{
  		Predicate: &pb.BuildPredicate{
  			Tags:                r.Tags(),
  			Status:              r.status,
  			IncludeExperimental: r.includeExperimental,
  		},
  		PageSize: 100,
  	}
  
  	if r.limit > 0 && r.limit < int(ret.PageSize) {
  		ret.PageSize = int32(r.limit)
  	}
  
  	// Prepare a field mask.
  	var err error
  	ret.Fields, err = r.FieldMask()
  	if err != nil {
  		return nil, err
  	}
  	for i, p := range ret.Fields.Paths {
  		ret.Fields.Paths[i] = "builds.*." + p
  	}
  
  	if ret.Predicate.GerritChanges, err = r.clsFlag.retrieveCLs(ctx, r.httpClient, kRequirePatchset); err != nil {
  		return nil, err
  	}
  	return ret, nil
  }
docs: // parseBaseRequest returns a base SearchBuildsRequest without builder filter.