public function setResidue($residue) { if (!$residue instanceof Item) { throw new \InvalidArgumentException("Eating an Item can only result in an Item residue"); } parent::setResidue($residue); }