/**
  * * if this is a pv control other pvs, when this pv's value changes, it will stop or restart all
  * controlled pvs.
  *
  * @param ev
  * @throws Exception error when update all controlled pv's archiving status
  */
 private void updateAllControlPVEnablMent(MonitorEvent ev) throws Exception {
   final DBR dbr = ev.getDBR();
   boolean enable = DBR_Helper.decodeBooleanValue(dbr);
   ArrayList<String> copyOfControlledPVList = new ArrayList<String>(controlledPVList);
   if (enable) {
     enableAllPV = true;
     for (String pvName : copyOfControlledPVList) {
       logger.debug(pvName + " will be resumed");
       ArchiveEngine.resumeArchivingPV(pvName, configservice);
     }
   } else {
     enableAllPV = false;
     for (String pvName : copyOfControlledPVList) {
       logger.debug(pvName + " will be paused");
       ArchiveEngine.pauseArchivingPV(pvName, configservice);
     }
   }
 }