/** * @param VersionProvider $versionProvider * @param UuidInterface $id * @return Cart */ public static function create(VersionProvider $versionProvider, UuidInterface $id) { $cart = new self(); $cart->registerVersionProvider($versionProvider); $cart->applyUncommittedEvent(new CartCreated($id)); return $cart; }