code: function _setPathIn (obj, parts, value) {
      var key = parts[0];
      var partsLen = parts.length;
      var v;
  
      if (partsLen === 1) {
          v = value;
      } else {
          var targetKey = _getPathKey(obj, key, false);
  
          v = _setPathIn(
              isUndefined(targetKey) ? targetKey : obj[targetKey],
              slice(parts, 1, partsLen),
              value
          );
      }
  
      return _isArrayIndex(obj, key) ? _setIndex(obj, key, v) : _setIn(obj, key, v);
  }
docs: Sets the object's property targeted by the given path to the desired value.<br/>
  Works with arrays and is able to set their indexes, even negative ones.
  @private
  @param {Object|Array} obj
  @param {String[]} parts
  @param {*} value
  @returns {Object|Array}