     
     func cellForRowAtIndexPath (indexPath: NSIndexPath) -> UITableViewCell {
         print("indexPath.row: \(indexPath.row) * isPlace: \(isPlace(indexPath.row))")
-        if indexPath.row == 2 {
-            
-        }
         if let isPlace = isPlace(indexPath.row) {
             if isPlace {
                 let cell = tableView.dequeueReusableCellWithIdentifier("PlaceCell", forIndexPath: indexPath) 

        }
        if thing is Place {
            if let actions = (thing as! Place).actions {
                return _isPlace(step, currentStep: currentStep.next(), thing: actions)
            } else {
                return _isPlace(step, currentStep: currentStep.next(), thing: nextPlace((thing as! Place)))
            }
        }
        if let actions = thing as? [Action] {
            for index in 0...actions.count {
                let action = actions[index]
                if action.selected {
                    return _isPlace(step, currentStep: currentStep.next(), thing: action.nextPlace)
                }
            }
        }
        return _isPlace(step, currentStep: currentStep.next(), thing: thing)
    }
}

extension Int {
    func next() -> Int {
        return Int(self) + 1
    }
}

        for index in 0...step {
            if index == step {
                if place == nil {
                    place = placeAtStep(step.predecessor())
                }
                print("place: \(place), step: \(step)")
                return place
            }
            place = nextPlace(place)
