/**
  * Gets the properties of the Table service.
  * 
  * @param Models\TableServiceOptions $options optional table service options.
  * 
  * @return WindowsAzure\Common\Models\GetServicePropertiesResult
  * 
  * @see http://msdn.microsoft.com/en-us/library/windowsazure/hh452238.aspx
  */
 public function getServiceProperties($options = null)
 {
     if (is_null($options)) {
         $options = new TableServiceOptions();
     }
     $context = new HttpCallContext();
     $timeout = $options->getTimeout();
     $context->setMethod(Resources::HTTP_GET);
     $context->addOptionalQueryParameter(Resources::QP_REST_TYPE, 'service');
     $context->addOptionalQueryParameter(Resources::QP_COMP, 'properties');
     $context->addOptionalQueryParameter(Resources::QP_TIMEOUT, $timeout);
     $context->addStatusCode(Resources::STATUS_OK);
     $response = $this->sendContext($context);
     $parsed = $this->dataSerializer->unserialize($response->getBody());
     return GetServicePropertiesResult::create($parsed);
 }