docs: protected void deleteUnmappedActivityInstances(MigratingProcessInstance migratingProcessInstance) {
      Set<MigratingScopeInstance> leafInstances = collectLeafInstances(migratingProcessInstance);
      final DeleteUnmappedInstanceVisitor visitor = new DeleteUnmappedInstanceVisitor(executionBuilder.isSkipCustomListeners(), executionBuilder.isSkipIoMappings());
  
      for (MigratingScopeInstance leafInstance : leafInstances) {
        MigratingScopeInstanceBottomUpWalker walker = new MigratingScopeInstanceBottomUpWalker(leafInstance);
  
        walker.addPreVisitor(visitor);
  
        walker.walkUntil(new ReferenceWalker.WalkCondition<MigratingScopeInstance>() {
  
          @Override
          public boolean isFulfilled(MigratingScopeInstance element) {
            // walk until top of instance tree is reached or until
            // a node is reached for which we have not yet visited every child
            return element == null || !visitor.hasVisitedAll(element.getChildScopeInstances());
          }
        });
      }
    }