code: public function load(array $identifier, $rawData, $shardingKey)
      {
          $sourcesToFeed = array();
          $datas = null;
          foreach ($this->sources as $sourceKey => $source) {
              try {
                  $datas = $source->load($identifier, true, $shardingKey);
                  break;
              } catch (NoDataException $exception) {
                  $sourcesToFeed[] = $sourceKey;
              }
          }
  
          if (isset($datas)) {
              foreach ($sourcesToFeed as $sourceKey) {
                  $this->sources[$sourceKey]->saveAfterLoading($datas, $identifier, $shardingKey);
              }
  
              return $this->dataParser->decode($datas, $this->configuration['fields']);
          }
  
          throw new NoDataException("Chain can't load datas for source {$this->sourceName} with ids : ".var_export($identifier, true));
      }
docs: @param array $identifier
  @param bool  $rawData
  @param mixed $shardingKey
  
  @return array
  @throws NoDataException
  @throws \Exception