/**
  * @return string
  */
 public function getNameOfDesignPattern()
 {
     if ($this->cacheAdapter->cacheHasValue('pattern-name')) {
         return $this->cacheAdapter->getValueFromCache('pattern-name') . ' <- Came from cache!!';
     } else {
         $data = $this->nextSource->getNameOfDesignPattern();
         $this->cacheAdapter->setValueInCache('pattern-name', $data);
         return $data;
     }
 }
 /**
  * @param DataGetter $dataGetter
  * @return string[]
  */
 private function getResultsOfFirstAndSecondCall(DataGetter $dataGetter)
 {
     return [$dataGetter->getNameOfDesignPattern(), $dataGetter->getNameOfDesignPattern()];
 }