code: func (c *Cloner) DeepCopy(in interface{}) (interface{}, error) {
  	// Can be invalid if we run DeepCopy(X) where X is a nil interface type.
  	// For example, we get an invalid value when someone tries to deep-copy
  	// a nil labels.Selector.
  	// This does not occur if X is nil and is a pointer to a concrete type.
  	if in == nil {
  		return nil, nil
  	}
  	inValue := reflect.ValueOf(in)
  	outValue, err := c.deepCopy(inValue)
  	if err != nil {
  		return nil, err
  	}
  	return outValue.Interface(), nil
  }
docs: // DeepCopy will perform a deep copy of a given object.