whole_func_string: function (key, value, priority) {
              var normalizedPriority = this.normalizePriority(priority),
                  serial = this._internalSerialNumbers++;
              if (this.wrapItems) {
                  return new (this.itemWrapperConstructor) (key, value, normalizedPriority, serial);
              }
              try {
                  value.key = key;
                  value.priority = priority;
                  value.serial = serial;
              }
              catch (e) {
                  throw new TypeError('PriorityList can only work in "unwrapped" mode with values/objects' +
                      ' that can have properties created/set on them.  Type encountered: `' + sjl.classOf(value) + '`;' +
                      '  Original error: ' + e.message);
              }
              return value;
          }
func_code_string: function (key, value, priority) {
              var normalizedPriority = this.normalizePriority(priority),
                  serial = this._internalSerialNumbers++;
              if (this.wrapItems) {
                  return new (this.itemWrapperConstructor) (key, value, normalizedPriority, serial);
              }
              try {
                  value.key = key;
                  value.priority = priority;
                  value.serial = serial;
              }
              catch (e) {
                  throw new TypeError('PriorityList can only work in "unwrapped" mode with values/objects' +
                      ' that can have properties created/set on them.  Type encountered: `' + sjl.classOf(value) + '`;' +
                      '  Original error: ' + e.message);
              }
              return value;
          }
func_documentation_string: Used internally to get value either raw or wrapped as specified by the `wrapItems` flag.
  @param key {*}
  @param value {*}
  @param priority {Number}
  @method sjl.stdlib.PriorityList#resolveItemWrapping
  @returns {*|PriorityListItem}