Replace javax.servlet, javax.faces and javax.el references in text file contents
diff --git a/tomee-patch-core/pom.xml b/tomee-patch-core/pom.xml
index 9ab050c..5a12ccb 100644
--- a/tomee-patch-core/pom.xml
+++ b/tomee-patch-core/pom.xml
@@ -72,6 +72,11 @@
       <version>1.3.13</version>
     </dependency>
     <dependency>
+      <groupId>org.tomitribe</groupId>
+      <artifactId>swizzle</artifactId>
+      <version>1.1</version>
+    </dependency>
+    <dependency>
       <groupId>org.tomitribe.jkta</groupId>
       <artifactId>jkta</artifactId>
       <version>0.10</version>
diff --git a/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/Transformation.java b/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/Transformation.java
index 09faa88..be617bc 100644
--- a/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/Transformation.java
+++ b/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/Transformation.java
@@ -19,6 +19,7 @@
 import org.objectweb.asm.ClassReader;
 import org.objectweb.asm.ClassWriter;
 import org.objectweb.asm.Opcodes;
+import org.tomitribe.swizzle.stream.StreamBuilder;
 import org.tomitribe.util.IO;
 
 import java.io.File;
@@ -102,7 +103,7 @@
                     } else if (isZip(path)) {
                         scanJar(path, zipInputStream, zipOutputStream);
                     } else {
-                        IO.copy(zipInputStream, zipOutputStream);
+                        scanResource(zipInputStream, zipOutputStream);
                     }
                 } finally {
                     zipOutputStream.closeEntry();
@@ -133,6 +134,15 @@
         }
     }
 
+    private void scanResource(InputStream inputStream, final OutputStream outputStream) throws IOException {
+        inputStream = StreamBuilder.create(inputStream)
+                .replace("javax.el.ELResolver", "jakarta.el.ELResolver")
+                .replace("javax.servlet.", "jakarta.servlet.")
+                .replace("javax.faces.", "jakarta.faces.")
+                .get();
+        IO.copy(inputStream, outputStream);
+    }
+
     private static void copyAttributes(final ZipEntry oldEntry, final ZipEntry newEntry) {
         Copy.copy(oldEntry, newEntry)
                 .att(ZipEntry::getTime, ZipEntry::setTime)