         self.listingType = listingType
     }
 
-    func prefetch( _ success: @escaping () -> Void ) {
+    private func prefetch( _ success: @escaping () -> Void ) {
         self.prefetch(0) {
             success()
         }


 Strona o id 1 będzie wpisana jako [1, Array<AnyObject>]

 Jak dzała prefetch.
 Wywołując metodę next() poruszamy się wzdłuż aktualnej strony (localCachePage) inkrementując localCacheIndex. Jeśli localCacheIndex znajdzie się w połowie aktualnej strony, to wykonywane są kolejno następujące operacje:
 - ładowana jest kolejna strona (czyli aktualna strona +1)
 - ładowana jest także wcześniejsza strona (-1) /* aby uprościć sprawdzanie w którą stronę następuje ruch, ale można to poprawić */
 - usuwana jest strona +2 /* to też można poprawić poprzez wykrywanie kierunku ruchu */
 - usuwana jest strona -2
 Oczywiście jeśli strony +1 lub -1 są już w pamięci, to nie zostaną ponownie załadowane.
 W wyniku działania powyższego algorytmu zawsze w pamięci znajdują się obiekty:
 - strona wcześniejsza
 - strona aktualna
 - strona kolejna
*/

class Listing {
    fileprivate var localCache: [Int: AnyObject] = [:]

    // - pobrać wcześniejszą stronę (-1)
    // - usunąć (-2)
    // - usunąć (+2)
    private func clearAndPrefetch() {
        // +1
        if self.localCache[localCachePage+1] == nil {
            self.prefetch(localCachePage+1)
