code: func (s *Service) FindOrganizations(ctx context.Context, filter platform.OrganizationFilter, opt ...platform.FindOptions) ([]*platform.Organization, int, error) {
  	op := OpPrefix + platform.OpFindOrganizations
  	if filter.ID != nil {
  		o, err := s.FindOrganizationByID(ctx, *filter.ID)
  		if err != nil {
  			return nil, 0, &platform.Error{
  				Op:  op,
  				Err: err,
  			}
  		}
  
  		return []*platform.Organization{o}, 1, nil
  	}
  
  	filterFunc := func(o *platform.Organization) bool { return true }
  	if filter.Name != nil {
  		filterFunc = func(o *platform.Organization) bool {
  			return o.Name == *filter.Name
  		}
  	}
  
  	orgs, pe := s.filterOrganizations(ctx, filterFunc)
  	if pe != nil {
  		return nil, 0, &platform.Error{
  			Err: pe,
  			Op:  op,
  		}
  	}
  
  	if len(orgs) == 0 {
  		return orgs, 0, &platform.Error{
  			Code: platform.ENotFound,
  			Op:   op,
  			Msg:  errOrganizationNotFound,
  		}
  	}
  
  	return orgs, len(orgs), nil
  }
docs: // FindOrganizations returns a list of organizations that match filter and the total count of matching organizations.