public function withSubject(Name $subject): self
    {
        $obj = clone $this;
        $obj->_subject = $subject;
        return $obj;
    }
public function withSubject(Name $subject): self
    {
        $obj = clone $this;
        $obj->_subject = $subject;
        return $obj;
    }
public function withSubject ( Name $ subject ) : self { $ obj = clone $ this ; $ obj -> _subject = $ subject ; return $ obj ; }
Get self with subject.

@param Name $subject
@return self
Get self with subject .