private function _flatten() { $object = $this->object; while ($object instanceof Optional) { $object = $object->orNull(); } return Optional::fromNullable($object); }