private void scheduleDisconnect(Channel channel, final UUID sessionId) {
channel.closeFuture().addListener(new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture future) throws Exception {
SchedulerKey key = new SchedulerKey(Type.AUTHORIZE, sessionId);
disconnectScheduler.schedule(key, new Runnable() {
@Override
public void run() {
authorizedSessionIds.remove(sessionId);
log.debug("Authorized sessionId: {} removed due to connection timeout", sessionId);