service/lease.go
func (s *Lease) ReStock() (skuTask *taskmanager.Task) {

	if skuConstructor, ok := s.availableSkus[s.Sku]; ok {
		leaseMap := structs.Map(s)
		sku := skuConstructor.New(s.taskManager, leaseMap)
		skuTask = sku.ReStock()
		s.Task = skuTask.GetRedactedVersion()

	} else {
		s.Task.Status = TaskStatusUnavailable
	}
	return
}
func (s *Lease) ReStock() (skuTask *taskmanager.Task) {

	if skuConstructor, ok := s.availableSkus[s.Sku]; ok {
		leaseMap := structs.Map(s)
		sku := skuConstructor.New(s.taskManager, leaseMap)
		skuTask = sku.ReStock()
		s.Task = skuTask.GetRedactedVersion()

	} else {
		s.Task.Status = TaskStatusUnavailable
	}
	return
}
//ReStock - this will reclaim resources for a given lease