     private static let kKeyLat:String = "lat"
     private static let kKeyLon:String = "lon"
     
+    class func factoryResourceUrl() -> URL?
+    {
+        let resourceUrl:URL? = Bundle.main.url(
+            forResource:kJsonName,
+            withExtension:kJsonExtension)
+        
+        return resourceUrl
+    }
+    
     func loadItems(completion:@escaping(() -> ()))
     {
         DispatchQueue.global(qos:DispatchQoS.QoSClass.background).async

        }
    }
    
    //MARK: private
    
    private func dispatchLoadItems(completion:@escaping(() -> ()))
    {
        guard
            
            let resourceUrl:URL = Bundle.main.url(
                forResource:ModelList.kJsonName,
                withExtension:ModelList.kJsonExtension)
            
        else
        {
            return
        }
        
        let data:Data
        
        do
        {
            try data = Data(contentsOf:resourceUrl)
        }
        catch
        {
            return
        }
        
        let json:Any
        
        do

                JSONSerialization.ReadingOptions.allowFragments)
        }
        catch
        {
            return nil
        }
        
        return json
    }
    
    //MARK: private
    
    private func dispatchLoadItems(completion:@escaping(() -> ()))
    {
        guard
            
            let url:URL = ModelList.factoryResourceUrl(),
            let data:Data = loadData(url:url),
            let json:Any = loadJson(data:data)
            
        else
        {
            return
        }
