/** * @param mixed $value */ protected function setValue($value) { //We use the string assertion first parent::setValue($value); //and then check, if we really got an item class Assertion::implementsInterface($value, 'Prooph\\Processing\\Type\\Type'); }