code: function () {
        _emberMetalDebug.deprecate('`frozenCopy` is deprecated, use `Object.freeze` instead.', false, { id: 'ember-runtime.frozen-copy', until: '3.0.0' });
        if (_emberRuntimeMixinsFreezable.Freezable && _emberRuntimeMixinsFreezable.Freezable.detect(this)) {
          return _emberMetalProperty_get.get(this, 'isFrozen') ? this : this.copy().freeze();
        } else {
          throw new _emberMetalError.default(this + ' does not support freezing');
        }
      }
docs: If the object implements `Ember.Freezable`, then this will return a new
  copy if the object is not frozen and the receiver if the object is frozen.
  Raises an exception if you try to call this method on a object that does
  not support freezing.
  You should use this method whenever you want a copy of a freezable object
  since a freezable object can simply return itself without actually
  consuming more memory.
  @method frozenCopy
  @return {Object} copy of receiver or receiver
  @deprecated Use `Object.freeze` instead.
  @private