func (p RootPathParticle) NewRootFromPath(inventoryPath string, newParticle RootPathParticle) (string, error) {
	dcPath, err := p.SplitDatacenter(inventoryPath)
	if err != nil {
		return inventoryPath, err
	}
	return fmt.Sprintf("%s/%s", dcPath, newParticle), nil
}
func (p RootPathParticle) NewRootFromPath(inventoryPath string, newParticle RootPathParticle) (string, error) {
	dcPath, err := p.SplitDatacenter(inventoryPath)
	if err != nil {
		return inventoryPath, err
	}
	return fmt.Sprintf("%s/%s", dcPath, newParticle), nil
}
// NewRootFromPath takes the datacenter path for a specific entity, and then
// appends the new particle supplied.