function (paths) {
    var misses = [], fromCache = {};
    for (let i = 0, len = paths.length; i < len; i++) {
      if (this.changesQueued[paths[i]] !== undefined) {
        fromCache[paths[i]] = util.deepClone(this.changesQueued[paths[i]] || undefined);
      } else if(this.changesRunning[paths[i]] !== undefined) {
        fromCache[paths[i]] = util.deepClone(this.changesRunning[paths[i]] || undefined);
      } else {
        misses.push(paths[i]);
      }
    }
    if (misses.length > 0) {
      return this.getNodesFromDb(misses).then(function (nodes) {
        for (let i in fromCache) {
          nodes[i] = fromCache[i];
        }
        return nodes;
      });
    } else {
      return Promise.resolve(fromCache);
    }
  }
function (paths) {
    var misses = [], fromCache = {};
    for (let i = 0, len = paths.length; i < len; i++) {
      if (this.changesQueued[paths[i]] !== undefined) {
        fromCache[paths[i]] = util.deepClone(this.changesQueued[paths[i]] || undefined);
      } else if(this.changesRunning[paths[i]] !== undefined) {
        fromCache[paths[i]] = util.deepClone(this.changesRunning[paths[i]] || undefined);
      } else {
        misses.push(paths[i]);
      }
    }
    if (misses.length > 0) {
      return this.getNodesFromDb(misses).then(function (nodes) {
        for (let i in fromCache) {
          nodes[i] = fromCache[i];
        }
        return nodes;
      });
    } else {
      return Promise.resolve(fromCache);
    }
  }
function ( paths ) { var misses = [ ] , fromCache = { } ; for ( let i = 0 , len = paths . length ; i < len ; i ++ ) { if ( this . changesQueued [ paths [ i ] ] !== undefined ) { fromCache [ paths [ i ] ] = util . deepClone ( this . changesQueued [ paths [ i ] ] || undefined ) ; } else if ( this . changesRunning [ paths [ i ] ] !== undefined ) { fromCache [ paths [ i ] ] = util . deepClone ( this . changesRunning [ paths [ i ] ] || undefined ) ; } else { misses . push ( paths [ i ] ) ; } } if ( misses . length > 0 ) { return this . getNodesFromDb ( misses ) . then ( function ( nodes ) { for ( let i in fromCache ) { nodes [ i ] = fromCache [ i ] ; } return nodes ; } ) ; } else { return Promise . resolve ( fromCache ) ; } }
TODO: Document
TODO : Document