def METHOD_NAME( self, slaveServer ):
    """
    _slaveThread_
    This thread executes the method for each work item.
    """
    #~ print "slave thread starting up"
    self.lock.acquire()
    assert( self.activeCount > 0 )
    while len( self.callQueue ) > 0:
        # Dequeue work
        key, parameters = self.callQueue[0]
        del self.callQueue[0]
        self.lock.release()
        #~ print "making a call..."
        results = slaveServer( *parameters )
        self.lock.acquire()
        self.resultsQueue.append( (key, results) )
        # Notify the main thread that results are available,
        # if it was waiting
        self.lock.notify()
    # This thread is all done: put it back in the queue
    #~ print "slave thread exiting"
    self.activeCount -= 1
    assert( self.activeCount >= 0 )
    self.slaveQueue.append( slaveServer )
    self.lock.release()