@Override
  public void handleMessage(final ImvConnectionAdapter connection, final TnccsMessageValue message)
      throws TncException, TerminatedException {
    try {
      super.execute(
          new Callable<Boolean>() {

            @Override
            public Boolean call() throws TncException, TerminatedException {
              adapter.handleMessage(connection, message);
              return Boolean.TRUE;
            }
          });
    } finally {
      connection.denyMessageReceipt();
    }
  }
  @Override
  public void beginHandshake(final ImvConnectionAdapter connection)
      throws TncException, TerminatedException {
    try {
      super.execute(
          new Callable<Boolean>() {

            @Override
            public Boolean call() throws TncException, TerminatedException {
              adapter.beginHandshake(connection);
              return Boolean.TRUE;
            }
          });
    } finally {
      connection.denyMessageReceipt();
    }
  }