'Merge an existing pool into another.
The data from sourcePool is merged into destPool.
The arguments are the names of the pools to be merged.
The pool named sourcePool is left in tact and you may
want to call removePool() to get rid of it.'

def mergePools(self, destPool, sourcePool):

    sp = self.pools[sourcePool]
    dp = self.pools[destPool]
    for (tok, count) in sp.items():
        if dp.get(tok):
            dp[tok] += count
        else:
            dp[tok] = count
            dp.tokenCount += 1
    self.dirty = True
