     }
 
 
+    private func loadIncidents() {
+        let typesURL = "\(self.url)incidents/"
+
+        func onResponse(json: AnyObject?) {
+            logInfo("Loaded incidents")
+
+            removeConnectionForLoadingGroup(
+                group: IMSLoadingGroup.Incidents,
+                id: IMSConnectionID.Incidents(-1)
+            )
+
+            guard let json = json else {
+                logError("Incidents request retrieved no JSON data")
+                return
+            }
+
+            guard let incidentETags = json as? [[AnyObject]] else {
+                logError("Incidents JSON is non-conforming: \(json)")
+                return
+            }
+
+            for entry in incidentETags {
+                guard entry.count == 2 else {
+                    logError("Incident entry is non-conforming: \(entry)")
+                    continue
+                }
+                guard let number = entry[0] as? Int else {
+                    logError("Invalid incident number: \(incidentETags[0])")
+                    continue
+                }
+                guard let etag = entry[1] as? String else {
+                    logError("Invalid incident ETag: \(incidentETags[1])")
+                    continue
+                }
+
+                logDebug("Incident #\(number) has ETag \(etag)")
+            }
+        }
+
+        func onError(message: String) {
+            logError("Error while attempting incidents request: \(message)")
+            resetConnection()
+        }
+
+        logInfo("Sending incidents request to: \(typesURL)")
+
+        guard let connection = self.httpSession.sendJSON(
+            url: typesURL,
+            json: nil,
+            responseHandler: onResponse,
+            errorHandler: onError
+            ) else {
+                logError("Unable to create incidents connection?")
+                resetConnection()
+                return
+        }
+
+        addConnectionForLoadingGroup(
+            group: IMSLoadingGroup.Incidents,
+            id: IMSConnectionID.Incidents(-1),
+            connection: connection
+        )
+    }
+    
+    
 //    private func connectionsForLoadingGroup(
 //        group: IMSLoadingGroup
 //    ) throws -> [IMSConnectionID: HTTPConnection] {

                return
            }

            guard let personnel = json as? Array<[String: String]> else {
                logError("Personnel JSON is non-conforming: \(json)")
                return
            }

                loadIncidentTypes()
                loadPersonnel()
                loadLocations()
                loadIncidents()
        }
    }

