@Override
 public void startMonitoring(AsyncTask task, Type deviceType) throws ControllerException {
   try {
     MonitoringJob job = new MonitoringJob();
     job.setCompleter(new MonitorTaskCompleter(task));
     job.setDeviceType(deviceType);
     ControllerServiceImpl.enqueueMonitoringJob(job);
   } catch (Exception e) {
     throw ClientControllerException.fatals.unableToMonitorSMISProvider(
         task, deviceType.toString(), e);
   }
 }