code: function(pages, isLeft, options, differences) {
    pages.forEach(function(page) {
      var url = urlUtil.parse(page.url, true);
      var relative = url.path || '/';
      var type = (isLeft) ? 'left' : 'right';
      var inverseType = (isLeft) ? 'right' : 'left';
  
      if (differences[relative]) {
        differences[relative][type].url = page.url;
        differences[relative][type].checksum = page.checksum;
        differences[relative].differences = (page.checksum == differences[relative][inverseType].checksum) ? false : true;
        // generate a patch of the left into the right
        if (options.patch) {
          // todo
          var patch = "";
          differences[relative].patch = patch;
        }
      } else {
        differences[relative] = {
          left: {},
          right: {},
          differences: true,
          patch: null
        };
        differences[relative][type] = {
          url: page.url,
          checksum: page.checksum
        };
      }
    });
  }
docs: analyze
  
  Utility function to analyze the pages and look for differences
  
  @param {Object} object representing the first site crawled,
  @param {Boolean} if the object represents the left side,
  @param {Object} options (optional)
  @param {Function} callback -- function(err, leftPages, rightPages, differences)
  @api private