@Override
 public void replaceWithVirtual(VirtualObjectNode virtual) {
   state.addAndMarkAlias(virtual, current, usages);
   if (current instanceof FixedWithNextNode) {
     effects.deleteFixedNode((FixedWithNextNode) current);
   }
   deleted = true;
 }
 @Override
 public void delete() {
   effects.deleteFixedNode((FixedWithNextNode) current);
   deleted = true;
 }