public function createSchema($schemaFile)
 {
     $cacheKey = hash('sha1', $schemaFile);
     $item = $this->cache->getItem($cacheKey);
     if ($item->isHit()) {
         $schema = $item->get();
     } else {
         $schema = $this->schemaFactory->createSchema($schemaFile);
         $this->cache->save($item->set($schema));
     }
     return $schema;
 }
 /**
  * @param HttpClient $httpClient
  * @param SchemaFactory $schemaFactory
  * @param $schemaFile
  * @param array $config
  *
  * @return ApiService
  */
 public function getService(HttpClient $httpClient, SchemaFactory $schemaFactory, $schemaFile, $config = [])
 {
     $schema = $schemaFactory->createSchema($schemaFile);
     return new ApiService($this->uriFactory, $this->uriTemplate, $httpClient, $this->messageFactory, $schema, new MessageValidator($this->validator, $this->decoder), $this->serializer, $config);
 }