/**
  * {@inheritdoc}
  */
 public function fetch($id)
 {
     $start = $this->startQuery();
     $data = $this->cacheProviderDecorator->fetch($id);
     $stop = $this->stopQuery();
     self::$collectedData[self::$callId++] = $this->create(CacheCollectedData::FETCH)->withData($data)->withId($id)->withStart($start)->withStop($stop)->build();
     return $data;
 }
 /**
  * @test
  */
 public function DoFetch()
 {
     $this->assertEquals(CacheProviderMock::DATA, $this->cacheProviderDecorator->fetch(CacheProviderMock::ID));
     $this->assertTrue($this->cacheProvider->doFetchHasBeenCalled);
     $this->assertEquals(self::EXPECTED_ID, $this->cacheProvider->id);
 }