public function save($match = '*')
	{
		if ($this->isAuthenticated())
		{
			$url = $this->getLink();

			if ($match === true)
			{
				$match = $this->xml->xpath('./@gd:etag');
				$match = $match[0];
			}

			try
			{
				$headers = array('GData-Version' => 2, 'Content-type' => 'application/atom+xml', 'If-Match' => $match);
				$jdata   = $this->query($url, $this->xml->asXML(), $headers, 'put');
			}
			catch (\Exception $e)
			{
				if (strpos($e->getMessage(), 'Error code 412 received requesting data: Mismatch: etags') === 0)
				{
					throw new \RuntimeException("Etag match failed: `$match`.");
				}

				throw $e;
			}

			$this->xml = $this->safeXml($jdata->body);

			return $this;
		}

		return false;
	}