code: func Claim(nodeAvailableResources, taskAssigned *[]*api.GenericResource,
  	taskReservations []*api.GenericResource) error {
  	var resSelected []*api.GenericResource
  
  	for _, res := range taskReservations {
  		tr := res.GetDiscreteResourceSpec()
  		if tr == nil {
  			return fmt.Errorf("task should only hold Discrete type")
  		}
  
  		// Select the resources
  		nrs, err := selectNodeResources(*nodeAvailableResources, tr)
  		if err != nil {
  			return err
  		}
  
  		resSelected = append(resSelected, nrs...)
  	}
  
  	ClaimResources(nodeAvailableResources, taskAssigned, resSelected)
  	return nil
  }
docs: // Claim assigns GenericResources to a task by taking them from the
  // node's GenericResource list and storing them in the task's available list