I think we should allow calling init twice (in case you want to switch from buying a one-way ticket to buying a round-trip, for instance), which means we need to allow calling this method after init().  I'll elaborate on this doc to make it clear.