protected void processNotFoundException() throws Exception {
   logger.error(
       "VC object "
           + MoUtil.morefToString(moRef)
           + " is already deleted from VC. Purge from vc cache");
   // in case the event is lost
   VcCache.purge(moRef);
 }
 @Override
 public void updateRuntime() throws Exception {
   updateInternal(EnumSet.of(UpdateType.RUNTIME));
   /* If this VC object in VcCache is not the same as this one,
    * also update the cached one.
    */
   VcObject other = VcCache.lookup(moRef);
   if (other != this && other != null) {
     logger.info("update other " + other);
     other.updateRuntime();
   }
 }
 /** Override to customize object retrieval. */
 protected VcObject getCachedObject() throws VcException {
   return VcCache.get(moRef);
 }
 protected boolean isCached() {
   VcObject other = VcCache.lookup(moRef);
   return other == this;
 }