/**
  * @param Command|SearchTracksCommand $command
  *
  * @return mixed
  * @throws TrackNotFoundException
  */
 public function handle(Command $command)
 {
     $from = ($command->page() - 1) * TrackRepository::SIZE;
     $tracks = $this->trackRepository->findByCriteria(TrackRepositoryCriteria::instance($command->albumId(), $command->albumTitle(), $command->trackName(), $command->composer(), $command->page(), ['id' => 'asc'], TrackRepository::SIZE, $from));
     return $this->searchTracksCommandResultDataTransformer->transform(SearchTracksCommandResult::instance($tracks));
 }