docs: void portForward(final Patch patch, IdentityPatchContext context) throws PatchingException, IOException, XMLStreamException {
          assert patch.getIdentity().getPatchType() == Patch.PatchType.CUMULATIVE;
  
          final PatchingHistory history = context.getHistory();
          for (final PatchElement element : patch.getElements()) {
  
              final PatchElementProvider provider = element.getProvider();
              final String name = provider.getName();
              final boolean addOn = provider.isAddOn();
  
              final IdentityPatchContext.PatchEntry target = context.resolveForElement(element);
              final String cumulativePatchID = target.getCumulativePatchID();
              if (Constants.BASE.equals(cumulativePatchID)) {
                  reenableRolledBackInBase(target);
                  continue;
              }
  
              boolean found = false;
              final PatchingHistory.Iterator iterator = history.iterator();
              while (iterator.hasNextCP()) {
                  final PatchingHistory.Entry entry = iterator.nextCP();
                  final String patchId = addOn ? entry.getAddOnPatches().get(name) : entry.getLayerPatches().get(name);
  
                  if (patchId != null && patchId.equals(cumulativePatchID)) {
                      final Patch original = loadPatchInformation(entry.getPatchId(), installedImage);
                      for (final PatchElement originalElement : original.getElements()) {
                          if (name.equals(originalElement.getProvider().getName())
                                  && addOn == originalElement.getProvider().isAddOn()) {
                              PatchingTasks.addMissingModifications(target, originalElement.getModifications(), ContentItemFilter.ALL_BUT_MISC);
                          }
                      }
                      // Record a loader to have access to the current modules
                      final DirectoryStructure structure = target.getDirectoryStructure();
                      final File modulesRoot = structure.getModulePatchDirectory(patchId);
                      final File bundlesRoot = structure.getBundlesPatchDirectory(patchId);
                      final PatchContentLoader loader = PatchContentLoader.create(null, bundlesRoot, modulesRoot);
                      context.recordContentLoader(patchId, loader);
                      found = true;
                      break;
                  }
              }
              if (!found) {
                  throw PatchLogger.ROOT_LOGGER.patchNotFoundInHistory(cumulativePatchID);
              }
  
              reenableRolledBackInBase(target);
          }
      }