/**
  * Class constructor.
  *
  * @param ResourceLink $resource_link  Resource_Link object
  * @param string      $id      Value of share key (optional, default is null)
  */
 public function __construct($resource_link, $id = null)
 {
     $this->initialise();
     $this->data_connector = $resource_link->getConsumer()->getStorage();
     $this->id = $id;
     $this->primary_context_id =& $this->primary_resource_link_id;
     if (!empty($id)) {
         $this->load();
     } else {
         $this->primary_consumer_key = $resource_link->getKey();
         $this->primary_resource_link_id = $resource_link->getId();
     }
 }