 
 public enum XCSchemeError: Error, CustomStringConvertible {
     case notFound(path: Path)
+    case missing(property: String)
     
     public var description: String {
         switch self {
         case .notFound(let path):
             return ".xcscheme couldn't be found at path \(path)"
+        case .missing(let property):
+            return "Property \(property) missing"
         }
     }
 }

            self.locationScenarioReference = locationScenarioReference
        }
        
        public init(element: AEXMLElement) {
            self.buildConfiguration = element.attributes["buildConfiguration"]!
            self.selectedDebuggerIdentifier = element.attributes["selectedDebuggerIdentifier"]!
            self.selectedLauncherIdentifier = element.attributes["selectedLauncherIdentifier"]!
            self.launchStyle = Style(rawValue: element.attributes["launchStyle"]!) ?? .auto
            self.useCustomWorkingDirectory = element.attributes["useCustomWorkingDirectory"] == "YES"
            self.ignoresPersistentStateOnLaunch = element.attributes["ignoresPersistentStateOnLaunch"] == "YES"
            self.debugDocumentVersioning = element.attributes["debugDocumentVersioning"] == "YES"
            self.debugServiceExtension = element.attributes["debugServiceExtension"]!
            self.allowLocationSimulation = element.attributes["allowLocationSimulation"] == "YES"
            self.buildableProductRunnable = BuildableProductRunnable(element:  element["BuildableProductRunnable"])
            if let _ = element["LocationScenarioReference"].all?.first {
                self.locationScenarioReference = LocationScenarioReference(element: element["LocationScenarioReference"])
            } else {
                self.locationScenarioReference = nil
            }

            self.buildImplicitDependencies = buildImplicitDependencies
        }
        
        public init(element: AEXMLElement) throws {
            parallelizeBuild = element.attributes["parallelizeBuildables"]! == "YES"
            buildImplicitDependencies = element.attributes["buildImplicitDependencies"] == "YES"
            self.buildActionEntries = try element["BuildActionEntries"]["BuildActionEntry"]
                .all?
                .map(Entry.init) ?? []
        }
