whole_func_string: function _compareObject(x, y, rc) {
      if (x === y)
          return true;
      if (x.constructor && y.constructor && x.constructor !== y.constructor)
          return false;
      let xKeys = Object.keys(x);
      let yKeys = Object.keys(y);
      xKeys.sort();
      yKeys.sort();
      if (!_equals(xKeys, yKeys, rc))
          return false;
      rc.push(x, y);
      for (let k in x) {
          if (!_equals(x[k], y[k], rc))
              return false;
      }
      rc.pop();
      return true;
  }
func_code_string: function _compareObject(x, y, rc) {
      if (x === y)
          return true;
      if (x.constructor && y.constructor && x.constructor !== y.constructor)
          return false;
      let xKeys = Object.keys(x);
      let yKeys = Object.keys(y);
      xKeys.sort();
      yKeys.sort();
      if (!_equals(xKeys, yKeys, rc))
          return false;
      rc.push(x, y);
      for (let k in x) {
          if (!_equals(x[k], y[k], rc))
              return false;
      }
      rc.pop();
      return true;
  }
func_documentation_string: Internal method for comparing the equivalence of objects, or object-like items.
  
  @param x The first item to compare.
  @param y The second item to compare.
  @param rc The running counter for comparing circular references.
  @returns {boolean} An indication as to whether or not x and y were equal.