code: protected function getRepositoryBySubject(StockSubjectInterface $subject)
      {
          $class = $subject::getStockUnitClass();
  
          if (isset($this->repositoryCache[$class])) {
              return $this->repositoryCache[$class];
          }
  
          $repository = $this->persistenceHelper->getManager()->getRepository($class);
  
          if (!$repository instanceof StockUnitRepositoryInterface) {
              throw new InvalidArgumentException('Expected instance of ' . StockUnitRepositoryInterface::class);
          }
  
          return $this->repositoryCache[$class] = $repository;
      }
docs: Returns the subject and his stock unit repository.
  
  @param StockSubjectInterface $subject
  
  @return StockUnitRepositoryInterface