code: func CommonAccessor(obj interface{}) (metav1.Common, error) {
  	switch t := obj.(type) {
  	case List:
  		return t, nil
  	case metav1.ListInterface:
  		return t, nil
  	case ListMetaAccessor:
  		if m := t.GetListMeta(); m != nil {
  			return m, nil
  		}
  		return nil, errNotCommon
  	case metav1.ListMetaAccessor:
  		if m := t.GetListMeta(); m != nil {
  			return m, nil
  		}
  		return nil, errNotCommon
  	case metav1.Object:
  		return t, nil
  	case metav1.ObjectMetaAccessor:
  		if m := t.GetObjectMeta(); m != nil {
  			return m, nil
  		}
  		return nil, errNotCommon
  	default:
  		return nil, errNotCommon
  	}
  }
docs: // CommonAccessor returns a Common interface for the provided object or an error if the object does
  // not provide List.