ItemVectorWithPredecessor::ItemVectorWithPredecessor(const ItemVector& add, ItemVectorWithPredecessor *predecessor)
    : m_predecessor(predecessor),
      m_numberOfItemSizes(predecessor->m_numberOfItemSizes)
{
    m_itemCount = new int[m_numberOfItemSizes];
    for(int i = 0; i < m_numberOfItemSizes; ++i) {
        m_itemCount[i] = predecessor->m_itemCount[i] + add.itemCount(i);
    }
}