code: public function generate(NumberSubjectInterface $subject)
      {
          if (!empty($subject->getNumber())) {
              return $this;
          }
  
          $number = $this->readNumber();
  
          $number = $this->generateNumber($number);
  
          $this->writeNumber($number);
  
          $subject->setNumber($number);
  
          return $this;
      }
docs: {@inheritdoc}