@Override
  protected TaskState runTask() {
    final ClientConnection clientConnection = getClientConnection();
    if (clientConnection == null) {
      logger.error(ERR_TASK_DISCONNECT_NO_SUCH_CONNECTION, connectionID);
      return TaskState.COMPLETED_WITH_ERRORS;
    }

    clientConnection.disconnect(DisconnectReason.ADMIN_DISCONNECT, notifyClient, disconnectMessage);
    return TaskState.COMPLETED_SUCCESSFULLY;
  }