@Override
public void unregister() throws Exception {
final ManagedObjectReference oldRp = resourcePool;
final ManagedObjectReference oldVm = getMoRef();
VirtualMachine vm = getManagedObject();
vm.unregister();
VcCache.purge(oldVm);
VcCache.removeVmRpPair(oldVm);
if (oldRp != null) {
VcCache.refresh(oldRp);
VcCache.sync(oldRp);