code: func (p *PhysicalProperty) Clone() *PhysicalProperty {
  	prop := &PhysicalProperty{
  		Items:       p.Items,
  		TaskTp:      p.TaskTp,
  		ExpectedCnt: p.ExpectedCnt,
  	}
  	return prop
  }
docs: // Clone returns a copy of PhysicalProperty. Currently, this function is only used to build new
  // required property for children plan in `exhaustPhysicalPlans`, so we don't copy `Enforced` field
  // because if `Enforced` is true, the `Items` must be empty now, this makes `Enforced` meaningless
  // for children nodes.