@Override
 public void stop() throws Exception {
   if (started.compareAndSet(true, false)) {
     super.stop();
     if (systemUsage != null) {
       systemUsage.getMemoryUsage().removeUsageListener(this);
     }
   }
 }
 @Override
 public void start() throws Exception {
   if (started.compareAndSet(false, true)) {
     if (this.broker != null) {
       wireFormat.setVersion(this.broker.getBrokerService().getStoreOpenWireVersion());
     }
     super.start();
     if (systemUsage != null) {
       systemUsage.getMemoryUsage().addUsageListener(this);
     }
   }
 }
 @Override
 public void setSystemUsage(SystemUsage usageManager) {
   super.setSystemUsage(usageManager);
 }