Initial import
Use HashMap to speed-up the lookup
Use compiled pattern for splitting

The precompiled pattern shall be faster than preparing the pattern in
every call to String.split().
Purchase summary: cache last entry

We assume that the same customer bought more items at once and that the
complete list would be sorted by date. So we shall get some performance
improvement by caching the last used entry.