docs: function (layers) {
  		var layersArray = this._toArray(layers),
  		    separated = this._separateSingleFromGroupLayers(layersArray, {
  		        groups: [],
  		        singles: []
  		    }),
  		    groups = separated.groups,
  		    singles = separated.singles,
  		    i = 0,
  		    group, id;
  
  		// Batch remove single layers from MCG.
  		this._originalRemoveLayers(singles);
  
  		// Remove Layer Groups from the map so that they are un-registered
  		// there and the map fires 'layerremove' events for them as well.
  		for (; i < groups.length; i++) {
  			group = groups[i];
  			id = L.stamp(group);
  			delete this._proxyLayerGroups[id];
  			if (this._map) {
  				this._map._originalRemoveLayer(group);
  			} else {
  				this._proxyLayerGroupsNeedRemoving[id] = group;
  			}
  		}
  
  		return this;
  	}