function ensureValid(\Fulfil\MessageSet $messageSet = null) { if (!$messageSet) { $messageSet = new \Fulfil\MessageSet\Developer(); } $flat = $this->flatten(); if (!$flat->valid) { $msg = implode("\n - ", $messageSet->formatAll($flat->messages)) . "\n"; throw new \Fulfil\ValidationException("Failed validation:\n - " . $msg); } }