code: func (s *SelectionPredicate) Matches(obj runtime.Object) (bool, error) {
  	if s.Empty() {
  		return true, nil
  	}
  	labels, fields, err := s.GetAttrs(obj)
  	if err != nil {
  		return false, err
  	}
  	matched := s.Label.Matches(labels)
  	if matched && s.Field != nil {
  		matched = matched && s.Field.Matches(fields)
  	}
  	return matched, nil
  }
docs: // Matches returns true if the given object's labels and fields (as
  // returned by s.GetAttrs) match s.Label and s.Field. An error is
  // returned if s.GetAttrs fails.