Shouldn't this be done in the method signature ? Like : `public function addDocument(DocumentInterface $document)` ?