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;
    }
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;
    }
{@inheritdoc}