/** * @param Diagram $diagram * @throws \InvalidArgumentException if the diagram isn't valid */ public function save(Diagram $diagram) { if (!$diagram->isValid()) { throw new \InvalidArgumentException('Diagram is not valid'); } $this->database->save($diagram); }