 		return rows.count > 0
 	}
 	
-	private func cloneScenario(_ scenario: Scenario, withName name: String) -> Scenario {
-		return Scenario(name: name,
-						description: scenario.description,
-						tags: scenario.tags,
-						location: scenario.location,
+	private func clone(withName newName: String) -> Scenario {
+		return Scenario(name: newName,
+						description: description,
+						tags: tags,
+						location: location,
 						steps: [],
 						examples: [],
 						localizedKeyword: "")

		return names
	}
	
	private func hasExampleRows(_ scenario: Scenario) -> Bool {
		var rows = [TableRow]()
		for examples in scenario.examples {
			if let table = examples.table {
				rows.append(contentsOf: table.rows)
			}


extension Feature {
	func expandedScenarios() -> [Scenario] {
		return scenarios.flatMap { $0.expand() }
	}
}

extension Scenario {
	func expand() -> [Scenario] {
		let shouldExpand = isScenarioOutline && hasExampleRows()
		if !shouldExpand {
			return [self]
		}

		var expanded = [Scenario]()

		for examples in examples {
			let names = expandedNames(from: examples, scenarioName: name)
			if names.count > 0 {
				expanded.append(contentsOf: names.map { clone(withName: $0)})
			}
		}
		
