code: func (s *Service) FindOrganization(ctx context.Context, filter platform.OrganizationFilter) (*platform.Organization, error) {
  	op := OpPrefix + platform.OpFindOrganization
  	if filter.ID == nil && filter.Name == nil {
  		return nil, &platform.Error{
  			Code: platform.EInvalid,
  			Op:   op,
  			Msg:  "no filter parameters provided",
  		}
  	}
  
  	if filter.ID != nil {
  		o, err := s.FindOrganizationByID(ctx, *filter.ID)
  		if err != nil {
  			return nil, &platform.Error{
  				Op:  op,
  				Err: err,
  			}
  		}
  		return o, nil
  	}
  
  	orgs, n, err := s.FindOrganizations(ctx, filter)
  	if err != nil {
  		return nil, &platform.Error{
  			Op:  op,
  			Err: err,
  		}
  	}
  	if n < 1 {
  		return nil, &platform.Error{
  			Code: platform.ENotFound,
  			Op:   op,
  			Msg:  errOrganizationNotFound,
  		}
  	}
  
  	return orgs[0], nil
  }
docs: // FindOrganization returns the first organization that matches a filter.