code: function(dirPath, lastCursor, callback) {
      async.parallel([
        (cb) => {
          localDelta.getDelta(dirPath, cb);
        },
        (cb) => {
          remoteDelta.getDelta(lastCursor, cb);
        }
      ], (err, results) => {
        logger.info('getDelta ended', {category: 'sync-delta'});
  
        if(err) return callback(err);
  
        var currentRemoteCursor = results[1];
  
        applyGroupedDelta(remoteDelta.getGroupedDelta(), (err) => {
          if(err) return callback(err);
  
          callback(null, currentRemoteCursor);
        });
      });
    }
docs: gets the remote and local delta and merges it
  
  @param {string} dirPath - path to the root directory
  @param {string} lastCursor - last cursor or undefined if cursor has been reset
  @param {Function} callback - callback function
  @returns {void} - no return value