class LocalSessionPool {

    public synchronized OperationContext acquireSession()
    {
        final LocalSession localSession = sessionStack.isEmpty() ? createSession() : sessionStack.pop();
        return new OperationContext( globalSession, localSession.nextOperationId(), localSession );
    }

    public  LocalSessionPool( GlobalSession globalSession );

}