@Override
 public void clientDisconnected() {
   AnalyticsViewClientConnection connection = _viewConnections.remove(_viewId);
   if (connection != null) {
     s_logger.debug("Client disconnected, closing view with ID {}", _viewId);
     connection.close();
   }
 }
 /**
  * Deletes a view.
  *
  * @param viewId ID of the view
  * @throws DataNotFoundException If there's no view with the specified ID
  */
 public void deleteView(String viewId) {
   AnalyticsViewClientConnection connection = _viewConnections.remove(viewId);
   if (connection == null) {
     s_logger.debug("Received request to delete unknown view ID {}", viewId);
     throw new DataNotFoundException("No view found with ID " + viewId);
   }
   s_logger.debug("Closing view with ID {}", viewId);
   connection.close();
 }