code: func objectMetaAndKind(typer runtime.ObjectTyper, obj runtime.Object) (metav1.Object, schema.GroupVersionKind, error) {
  	objectMeta, err := meta.Accessor(obj)
  	if err != nil {
  		return nil, schema.GroupVersionKind{}, errors.NewInternalError(err)
  	}
  	kinds, _, err := typer.ObjectKinds(obj)
  	if err != nil {
  		return nil, schema.GroupVersionKind{}, errors.NewInternalError(err)
  	}
  	return objectMeta, kinds[0], nil
  }
docs: // objectMetaAndKind retrieves kind and ObjectMeta from a runtime object, or returns an error.