       @_cache
     else o
   done = (err) =>
-    if err?
+    if err
       @_cache[id] = backup if @_single
       if cb? then cb err else err
     else

      getObjectFromFile.call @, undefined, cb
    else
      readIDs @_dir, (err, ids) =>
        return cb err if err?
        that = @
        all  = {}
        loaders = for id in ids then do (id) ->
          (cb) ->
            that.get id, (err, o) ->
              all[id] = o if not err?
              cb err
        async.parallel loaders, (err) -> cb err, all



getObjectFromFile = (id, cb) ->
  fs.readFile @_getFileName(id), "utf8", (err, o) ->
    return cb err if err
    try
      cb null, JSON.parse o
    catch e
