B2G/gecko/browser/components/tabview/modules/utils.jsm
// has properties that are themselves objects, those properties will be copied by reference.
has properties that are themselves objects, those properties will be copied by reference.
has properties that are themselves objects those properties will be copied by reference .
function Utils_copy(value) {
    if (value && typeof value == 'object') {
      if (Array.isArray(value))
        return this.extend([], value);
      return this.extend({}, value);
    }
    return value;
  }
function Utils_copy ( value ) { if ( value && typeof value == 'object' ) { if ( Array . isArray ( value ) ) return this . extend ( [ ] , value ) ; return this . extend ( { } , value ) ; } return value ; }
has properties that are themselves objects, those properties will be copied by reference.
has properties that are themselves objects those properties will be copied by reference .