You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by co...@apache.org on 2023/06/23 05:13:51 UTC

[santuario-xml-security-java] branch main updated: Using enhanced loops where possible (#181)

This is an automated email from the ASF dual-hosted git repository.

coheigea pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/santuario-xml-security-java.git


The following commit(s) were added to refs/heads/main by this push:
     new 3c4a4ec4 Using enhanced loops where possible (#181)
3c4a4ec4 is described below

commit 3c4a4ec46772306820cd884a2921573005f88908
Author: David Matějček <da...@omnifish.ee>
AuthorDate: Fri Jun 23 07:13:46 2023 +0200

    Using enhanced loops where possible (#181)
    
    - Cleanup made by Eclipse IDE and revisited manually
    
    Signed-off-by: David Matějček <da...@omnifish.ee>
---
 .../jcp/xml/dsig/internal/dom/DOMSignedInfo.java   | 22 +++++------
 .../jcp/xml/dsig/internal/dom/DOMX509Data.java     |  3 +-
 .../jcp/xml/dsig/internal/dom/DOMXMLSignature.java | 19 +++++----
 .../c14n/implementations/NameSpaceSymbTable.java   | 20 +++++-----
 .../keys/content/x509/XMLX509Certificate.java      |  4 +-
 .../xml/security/keys/content/x509/XMLX509SKI.java |  4 +-
 .../implementations/X509CertificateResolver.java   |  4 +-
 .../implementations/X509DigestResolver.java        |  3 +-
 .../implementations/X509SKIResolver.java           |  8 ++--
 .../implementations/X509SubjectNameResolver.java   | 14 +++----
 .../stax/config/ConfigurationProperties.java       |  3 +-
 .../security/stax/config/JCEAlgorithmMapper.java   |  3 +-
 .../stax/config/ResourceResolverMapper.java        |  3 +-
 .../stax/config/TransformerAlgorithmMapper.java    |  3 +-
 .../xml/security/stax/ext/XMLSecurityUtils.java    |  6 +--
 .../stax/impl/AbstractSecurityContextImpl.java     |  3 +-
 .../stax/impl/InputProcessorChainImpl.java         |  3 +-
 .../stax/impl/OutputProcessorChainImpl.java        |  3 +-
 .../security/stax/impl/XMLSecurityEventWriter.java |  6 +--
 .../output/AbstractEncryptOutputProcessor.java     | 41 ++++++++++----------
 .../output/AbstractSignatureOutputProcessor.java   | 45 +++++++++++-----------
 .../output/XMLSignatureEndingOutputProcessor.java  |  4 +-
 .../stax/impl/stax/XMLSecStartElementImpl.java     | 15 +++-----
 .../canonicalizer/CanonicalizerBase.java           |  7 +---
 .../implementations/TransformXPath2Filter.java     |  4 +-
 .../test/dom/c14n/helper/AttrCompareTest.java      |  7 ++--
 .../crypto/dsig/CanonicalizationMethodTest.java    |  3 +-
 .../test/stax/IVSplittingOutputStreamTest.java     |  4 +-
 .../test/stax/TrimmerOutputStreamTest.java         |  4 +-
 .../stax/performance/PerformanceMemoryTest.java    | 13 ++-----
 .../stax/performance/PerformanceTimingTest.java    | 10 ++---
 31 files changed, 122 insertions(+), 169 deletions(-)

diff --git a/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMSignedInfo.java b/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMSignedInfo.java
index 0410b9be..cfff7017 100644
--- a/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMSignedInfo.java
+++ b/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMSignedInfo.java
@@ -71,9 +71,9 @@ public final class DOMSignedInfo extends DOMStructure implements SignedInfo {
     private static final String ALGO_ID_MAC_HMAC_NOT_RECOMMENDED_MD5 =
         Constants.MoreAlgorithmsSpecNS + "hmac-md5";
 
-    private List<Reference> references;
-    private CanonicalizationMethod canonicalizationMethod;
-    private SignatureMethod signatureMethod;
+    private final List<Reference> references;
+    private final CanonicalizationMethod canonicalizationMethod;
+    private final SignatureMethod signatureMethod;
     private String id;
     private Document ownerDoc;
     private Element localSiElem;
@@ -100,17 +100,13 @@ public final class DOMSignedInfo extends DOMStructure implements SignedInfo {
         }
         this.canonicalizationMethod = cm;
         this.signatureMethod = sm;
-        this.references = Collections.unmodifiableList(
-            new ArrayList<>(references));
+        this.references = Collections.unmodifiableList(new ArrayList<>(references));
         if (this.references.isEmpty()) {
-            throw new IllegalArgumentException("list of references must " +
-                "contain at least one entry");
+            throw new IllegalArgumentException("list of references must contain at least one entry");
         }
-        for (int i = 0, size = this.references.size(); i < size; i++) {
-            Object obj = this.references.get(i);
+        for (Object obj : this.references) {
             if (!(obj instanceof Reference)) {
-                throw new ClassCastException("list of references contains " +
-                    "an illegal type");
+                throw new ClassCastException("list of references contains an illegal " + obj.getClass());
             }
         }
     }
@@ -240,8 +236,8 @@ public final class DOMSignedInfo extends DOMStructure implements SignedInfo {
             if (LOG.isDebugEnabled()) {
                 LOG.debug("Canonicalized SignedInfo:");
                 StringBuilder sb = new StringBuilder(signedInfoBytes.length);
-                for (int i = 0; i < signedInfoBytes.length; i++) {
-                    sb.append((char)signedInfoBytes[i]);
+                for (byte signedInfoByte : signedInfoBytes) {
+                    sb.append((char) signedInfoByte);
                 }
                 LOG.debug(sb.toString());
                 LOG.debug("Data to be signed/verified:" + XMLUtils.encodeToString(signedInfoBytes));
diff --git a/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMX509Data.java b/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMX509Data.java
index eb12484f..60377bb4 100644
--- a/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMX509Data.java
+++ b/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMX509Data.java
@@ -143,8 +143,7 @@ public final class DOMX509Data extends DOMStructure implements X509Data {
                                                 XMLSignature.XMLNS, dsPrefix);
 
         // append children and preserve order
-        for (int i = 0, size = content.size(); i < size; i++) {
-            Object object = content.get(i);
+        for (Object object : content) {
             if (object instanceof X509Certificate) {
                 marshalCert((X509Certificate)object,xdElem,ownerDoc,dsPrefix);
             } else if (object instanceof XMLStructure) {
diff --git a/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignature.java b/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignature.java
index b4ee8c9c..395bd07e 100644
--- a/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignature.java
+++ b/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignature.java
@@ -73,11 +73,11 @@ public final class DOMXMLSignature extends DOMStructure
 
     private static final org.slf4j.Logger LOG =
         org.slf4j.LoggerFactory.getLogger(DOMXMLSignature.class);
-    private String id;
-    private SignatureValue sv;
+    private final String id;
+    private final SignatureValue sv;
     private KeyInfo ki;
     private List<XMLObject> objects;
-    private SignedInfo si;
+    private final SignedInfo si;
     private Document ownerDoc = null;
     private Element localSigElem = null;
     private Element sigElem = null;
@@ -249,8 +249,8 @@ public final class DOMXMLSignature extends DOMStructure
         }
 
         // create and append Object elements if necessary
-        for (int i = 0, size = objects.size(); i < size; i++) {
-            ((DOMXMLObject)objects.get(i)).marshal(sigElem, dsPrefix, context);
+        for (XMLObject object : objects) {
+            ((DOMXMLObject)object).marshal(sigElem, dsPrefix, context);
         }
 
         // append Id attribute
@@ -475,13 +475,12 @@ public final class DOMXMLSignature extends DOMStructure
             if (parsedId != null && signatureIdMap.containsKey(parsedId)) {
                 XMLStructure xs = signatureIdMap.get(parsedId);
                 if (xs instanceof DOMReference) {
-                    digestReference((DOMReference)xs, signContext);
+                    digestReference((DOMReference) xs, signContext);
                 } else if (xs instanceof Manifest) {
-                    Manifest man = (Manifest)xs;
+                    Manifest man = (Manifest) xs;
                     List<Reference> manRefs = DOMManifest.getManifestReferences(man);
-                    for (int i = 0, size = manRefs.size(); i < size; i++) {
-                        digestReference((DOMReference)manRefs.get(i),
-                                        signContext);
+                    for (Reference manRef : manRefs) {
+                        digestReference((DOMReference) manRef, signContext);
                     }
                 }
             }
diff --git a/src/main/java/org/apache/xml/security/c14n/implementations/NameSpaceSymbTable.java b/src/main/java/org/apache/xml/security/c14n/implementations/NameSpaceSymbTable.java
index d91deb66..e0dff834 100644
--- a/src/main/java/org/apache/xml/security/c14n/implementations/NameSpaceSymbTable.java
+++ b/src/main/java/org/apache/xml/security/c14n/implementations/NameSpaceSymbTable.java
@@ -69,16 +69,16 @@ public class NameSpaceSymbTable {
      * @param result the list where to fill the unrendered xmlns definitions.
      **/
     public void getUnrenderedNodes(Collection<Attr> result) {
-        for (NameSpaceSymbEntry n : symb.entrySet()) {
+        for (NameSpaceSymbEntry nsEntry : symb.entrySet()) {
             //put them rendered?
-            if (!n.rendered && n.n != null) {
-                n = n.clone();
+            if (!nsEntry.rendered && nsEntry.n != null) {
+                nsEntry = nsEntry.clone();
                 needsClone();
-                symb.put(n.prefix, n);
-                n.lastrendered = n.uri;
-                n.rendered = true;
+                symb.put(nsEntry.prefix, nsEntry);
+                nsEntry.lastrendered = nsEntry.uri;
+                nsEntry.rendered = true;
 
-                result.add(n.n);
+                result.add(nsEntry.n);
             }
         }
     }
@@ -340,9 +340,9 @@ class SymbMap implements Cloneable {
 
     List<NameSpaceSymbEntry> entrySet() {
         List<NameSpaceSymbEntry> a = new ArrayList<>();
-        for (int i = 0;i < entries.length;i++) {
-            if (entries[i] != null && entries[i].uri.length() != 0) {
-                a.add(entries[i]);
+        for (NameSpaceSymbEntry nsEntry : entries) {
+            if (nsEntry != null && !nsEntry.uri.isEmpty()) {
+                a.add(nsEntry);
             }
         }
         return a;
diff --git a/src/main/java/org/apache/xml/security/keys/content/x509/XMLX509Certificate.java b/src/main/java/org/apache/xml/security/keys/content/x509/XMLX509Certificate.java
index 4a4a9334..31dd0606 100644
--- a/src/main/java/org/apache/xml/security/keys/content/x509/XMLX509Certificate.java
+++ b/src/main/java/org/apache/xml/security/keys/content/x509/XMLX509Certificate.java
@@ -141,8 +141,8 @@ public class XMLX509Certificate extends SignatureElementProxy implements XMLX509
         int result = 17;
         try {
             byte[] bytes = getCertificateBytes();
-            for (int i = 0; i < bytes.length; i++) {
-                result = 31 * result + bytes[i];
+            for (byte element : bytes) {
+                result = 31 * result + element;
             }
         } catch (XMLSecurityException e) {
             LOG.debug(e.getMessage(), e);
diff --git a/src/main/java/org/apache/xml/security/keys/content/x509/XMLX509SKI.java b/src/main/java/org/apache/xml/security/keys/content/x509/XMLX509SKI.java
index 5410d329..2138b1fa 100644
--- a/src/main/java/org/apache/xml/security/keys/content/x509/XMLX509SKI.java
+++ b/src/main/java/org/apache/xml/security/keys/content/x509/XMLX509SKI.java
@@ -161,8 +161,8 @@ public class XMLX509SKI extends SignatureElementProxy implements XMLX509DataCont
         int result = 17;
         try {
             byte[] bytes = getSKIBytes();
-            for (int i = 0; i < bytes.length; i++) {
-                result = 31 * result + bytes[i];
+            for (byte element : bytes) {
+                result = 31 * result + element;
             }
         } catch (XMLSecurityException e) {
             LOG.debug(e.getMessage(), e);
diff --git a/src/main/java/org/apache/xml/security/keys/keyresolver/implementations/X509CertificateResolver.java b/src/main/java/org/apache/xml/security/keys/keyresolver/implementations/X509CertificateResolver.java
index 8af232ff..5b83a160 100644
--- a/src/main/java/org/apache/xml/security/keys/keyresolver/implementations/X509CertificateResolver.java
+++ b/src/main/java/org/apache/xml/security/keys/keyresolver/implementations/X509CertificateResolver.java
@@ -82,8 +82,8 @@ public class X509CertificateResolver extends KeyResolverSpi {
             }
 
             // populate Object array
-            for (int i = 0; i < els.length; i++) {
-                XMLX509Certificate xmlCert = new XMLX509Certificate(els[i], baseURI);
+            for (Element el : els) {
+                XMLX509Certificate xmlCert = new XMLX509Certificate(el, baseURI);
                 X509Certificate cert = xmlCert.getX509Certificate();
                 if (cert != null) {
                     return cert;
diff --git a/src/main/java/org/apache/xml/security/keys/keyresolver/implementations/X509DigestResolver.java b/src/main/java/org/apache/xml/security/keys/keyresolver/implementations/X509DigestResolver.java
index ee4b12d2..77d536d4 100644
--- a/src/main/java/org/apache/xml/security/keys/keyresolver/implementations/X509DigestResolver.java
+++ b/src/main/java/org/apache/xml/security/keys/keyresolver/implementations/X509DigestResolver.java
@@ -130,8 +130,7 @@ public class X509DigestResolver extends KeyResolverSpi {
             while (storageIterator.hasNext()) {
                 X509Certificate cert = (X509Certificate) storageIterator.next();
 
-                for (int i = 0; i < x509Digests.length; i++) {
-                    XMLX509Digest keyInfoDigest = x509Digests[i];
+                for (XMLX509Digest keyInfoDigest : x509Digests) {
                     byte[] certDigestBytes = XMLX509Digest.getDigestBytesFromCert(cert, keyInfoDigest.getAlgorithm());
 
                     if (Arrays.equals(keyInfoDigest.getDigestBytes(), certDigestBytes)) {
diff --git a/src/main/java/org/apache/xml/security/keys/keyresolver/implementations/X509SKIResolver.java b/src/main/java/org/apache/xml/security/keys/keyresolver/implementations/X509SKIResolver.java
index b646468e..7d8ed534 100644
--- a/src/main/java/org/apache/xml/security/keys/keyresolver/implementations/X509SKIResolver.java
+++ b/src/main/java/org/apache/xml/security/keys/keyresolver/implementations/X509SKIResolver.java
@@ -90,20 +90,18 @@ public class X509SKIResolver extends KeyResolverSpi {
             }
 
             XMLX509SKI[] x509childObject = new XMLX509SKI[x509childNodes.length];
-
             for (int i = 0; i < x509childNodes.length; i++) {
                 x509childObject[i] = new XMLX509SKI(x509childNodes[i], baseURI);
             }
 
             Iterator<Certificate> storageIterator = storage.getIterator();
             while (storageIterator.hasNext()) {
-                X509Certificate cert = (X509Certificate)storageIterator.next();
+                X509Certificate cert = (X509Certificate) storageIterator.next();
                 XMLX509SKI certSKI = new XMLX509SKI(element.getOwnerDocument(), cert);
 
-                for (int i = 0; i < x509childObject.length; i++) {
-                    if (certSKI.equals(x509childObject[i])) {
+                for (XMLX509SKI childNodeSKI : x509childObject) {
+                    if (certSKI.equals(childNodeSKI)) {
                         LOG.debug("Return PublicKey from {}", cert.getSubjectX500Principal().getName());
-
                         return cert;
                     }
                 }
diff --git a/src/main/java/org/apache/xml/security/keys/keyresolver/implementations/X509SubjectNameResolver.java b/src/main/java/org/apache/xml/security/keys/keyresolver/implementations/X509SubjectNameResolver.java
index 7d65dec8..40961bfd 100644
--- a/src/main/java/org/apache/xml/security/keys/keyresolver/implementations/X509SubjectNameResolver.java
+++ b/src/main/java/org/apache/xml/security/keys/keyresolver/implementations/X509SubjectNameResolver.java
@@ -96,18 +96,15 @@ public class X509SubjectNameResolver extends KeyResolverSpi {
 
             Iterator<Certificate> storageIterator = storage.getIterator();
             while (storageIterator.hasNext()) {
-                X509Certificate cert = (X509Certificate)storageIterator.next();
-                XMLX509SubjectName certSN =
-                    new XMLX509SubjectName(element.getOwnerDocument(), cert);
-
+                X509Certificate cert = (X509Certificate) storageIterator.next();
+                XMLX509SubjectName certSN = new XMLX509SubjectName(element.getOwnerDocument(), cert);
                 LOG.debug("Found Certificate SN: {}", certSN.getSubjectName());
 
-                for (int i = 0; i < x509childObject.length; i++) {
-                    LOG.debug("Found Element SN:     {}", x509childObject[i].getSubjectName());
+                for (XMLX509SubjectName childSubject : x509childObject) {
+                    LOG.debug("Found Element SN:     {}", childSubject.getSubjectName());
 
-                    if (certSN.equals(x509childObject[i])) {
+                    if (certSN.equals(childSubject)) {
                         LOG.debug("match !!! ");
-
                         return cert;
                     }
                     LOG.debug("no match...");
@@ -117,7 +114,6 @@ public class X509SubjectNameResolver extends KeyResolverSpi {
             return null;
         } catch (XMLSecurityException ex) {
             LOG.debug("XMLSecurityException", ex);
-
             throw new KeyResolverException(ex);
         }
     }
diff --git a/src/main/java/org/apache/xml/security/stax/config/ConfigurationProperties.java b/src/main/java/org/apache/xml/security/stax/config/ConfigurationProperties.java
index 83807348..9cd41f36 100644
--- a/src/main/java/org/apache/xml/security/stax/config/ConfigurationProperties.java
+++ b/src/main/java/org/apache/xml/security/stax/config/ConfigurationProperties.java
@@ -41,8 +41,7 @@ public final class ConfigurationProperties {
             Class<?> callingClass) throws Exception {
         properties = new Properties();
         List<PropertyType> handlerList = propertiesType.getProperty();
-        for (int i = 0; i < handlerList.size(); i++) {
-            PropertyType propertyType = handlerList.get(i);
+        for (PropertyType propertyType : handlerList) {
             properties.setProperty(propertyType.getNAME(), propertyType.getVAL());
         }
         ConfigurationProperties.callingClass = callingClass;
diff --git a/src/main/java/org/apache/xml/security/stax/config/JCEAlgorithmMapper.java b/src/main/java/org/apache/xml/security/stax/config/JCEAlgorithmMapper.java
index febe3d1f..e7e31151 100644
--- a/src/main/java/org/apache/xml/security/stax/config/JCEAlgorithmMapper.java
+++ b/src/main/java/org/apache/xml/security/stax/config/JCEAlgorithmMapper.java
@@ -35,8 +35,7 @@ public final class JCEAlgorithmMapper extends JCEMapper {
     protected static synchronized void init(JCEAlgorithmMappingsType jceAlgorithmMappingsType) throws Exception {
         List<AlgorithmType> algorithms = jceAlgorithmMappingsType.getAlgorithm();
 
-        for (int i = 0; i < algorithms.size(); i++) {
-            AlgorithmType algorithmType = algorithms.get(i);
+        for (AlgorithmType algorithmType : algorithms) {
             int keyLength = 0;
             if (algorithmType.getKeyLength() != null) {
                 keyLength = algorithmType.getKeyLength();
diff --git a/src/main/java/org/apache/xml/security/stax/config/ResourceResolverMapper.java b/src/main/java/org/apache/xml/security/stax/config/ResourceResolverMapper.java
index 6d2b2b4f..bed64678 100644
--- a/src/main/java/org/apache/xml/security/stax/config/ResourceResolverMapper.java
+++ b/src/main/java/org/apache/xml/security/stax/config/ResourceResolverMapper.java
@@ -50,8 +50,7 @@ public final class ResourceResolverMapper {
     }
 
     public static ResourceResolver getResourceResolver(String uri, String baseURI) throws XMLSecurityException {
-        for (int i = 0; i < resourceResolvers.size(); i++) {
-            ResourceResolverLookup resourceResolver = resourceResolvers.get(i);
+        for (ResourceResolverLookup resourceResolver : resourceResolvers) {
             ResourceResolverLookup rr = resourceResolver.canResolve(uri, baseURI);
             if (rr != null) {
                 return rr.newInstance(uri, baseURI);
diff --git a/src/main/java/org/apache/xml/security/stax/config/TransformerAlgorithmMapper.java b/src/main/java/org/apache/xml/security/stax/config/TransformerAlgorithmMapper.java
index 22fb62ae..1c6fa55e 100644
--- a/src/main/java/org/apache/xml/security/stax/config/TransformerAlgorithmMapper.java
+++ b/src/main/java/org/apache/xml/security/stax/config/TransformerAlgorithmMapper.java
@@ -48,8 +48,7 @@ public final class TransformerAlgorithmMapper {
         algorithmsClassMapIn = new HashMap<>();
         algorithmsClassMapOut = new HashMap<>();
 
-        for (int i = 0; i < algorithms.size(); i++) {
-            TransformAlgorithmType algorithmType = algorithms.get(i);
+        for (TransformAlgorithmType algorithmType : algorithms) {
             if (algorithmType.getINOUT() == null) {
                 algorithmsClassMapInOut.put(algorithmType.getURI(),
                         ClassLoaderUtils.loadClass(algorithmType.getJAVACLASS(), callingClass));
diff --git a/src/main/java/org/apache/xml/security/stax/ext/XMLSecurityUtils.java b/src/main/java/org/apache/xml/security/stax/ext/XMLSecurityUtils.java
index 74d54b19..ffcdfa6b 100644
--- a/src/main/java/org/apache/xml/security/stax/ext/XMLSecurityUtils.java
+++ b/src/main/java/org/apache/xml/security/stax/ext/XMLSecurityUtils.java
@@ -155,8 +155,7 @@ public class XMLSecurityUtils {
 
     @SuppressWarnings("unchecked")
     public static <T> T getQNameType(List<Object> objects, QName qName) {
-        for (int i = 0; i < objects.size(); i++) {
-            Object o = objects.get(i);
+        for (Object o : objects) {
             if (o instanceof JAXBElement) {
                 JAXBElement<?> jaxbElement = (JAXBElement<?>) o;
                 if (jaxbElement.getName().equals(qName)) {
@@ -434,8 +433,7 @@ public class XMLSecurityUtils {
             }
 
             if (excludeVisible) {
-                for (int i = 0; i < onElementDeclaredNamespaces.size(); i++) {
-                    XMLSecNamespace xmlSecNamespace = onElementDeclaredNamespaces.get(i);
+                for (XMLSecNamespace xmlSecNamespace : onElementDeclaredNamespaces) {
                     String prefix = xmlSecNamespace.getPrefix();
                     if (prefix == null || prefix.isEmpty()) {
                         prefixes.remove("#default");
diff --git a/src/main/java/org/apache/xml/security/stax/impl/AbstractSecurityContextImpl.java b/src/main/java/org/apache/xml/security/stax/impl/AbstractSecurityContextImpl.java
index 94bf4f23..3ebf8751 100644
--- a/src/main/java/org/apache/xml/security/stax/impl/AbstractSecurityContextImpl.java
+++ b/src/main/java/org/apache/xml/security/stax/impl/AbstractSecurityContextImpl.java
@@ -46,8 +46,7 @@ public class AbstractSecurityContextImpl {
     }
 
     protected void forwardSecurityEvent(SecurityEvent securityEvent) throws XMLSecurityException {
-        for (int i = 0; i < securityEventListeners.size(); i++) {
-            SecurityEventListener securityEventListener = securityEventListeners.get(i);
+        for (SecurityEventListener securityEventListener : securityEventListeners) {
             securityEventListener.registerSecurityEvent(securityEvent);
         }
     }
diff --git a/src/main/java/org/apache/xml/security/stax/impl/InputProcessorChainImpl.java b/src/main/java/org/apache/xml/security/stax/impl/InputProcessorChainImpl.java
index 7c634652..7ca94f1d 100644
--- a/src/main/java/org/apache/xml/security/stax/impl/InputProcessorChainImpl.java
+++ b/src/main/java/org/apache/xml/security/stax/impl/InputProcessorChainImpl.java
@@ -162,8 +162,7 @@ public class InputProcessorChainImpl implements InputProcessorChain {
         }
         if (LOG.isDebugEnabled()) {
             LOG.debug("Added {} to input chain: ", newInputProcessor.getClass().getName());
-            for (int i = 0; i < inputProcessors.size(); i++) {
-                InputProcessor inputProcessor = inputProcessors.get(i);
+            for (InputProcessor inputProcessor : inputProcessors) {
                 LOG.debug("Name: {} phase: {}", inputProcessor.getClass().getName(), inputProcessor.getPhase());
             }
         }
diff --git a/src/main/java/org/apache/xml/security/stax/impl/OutputProcessorChainImpl.java b/src/main/java/org/apache/xml/security/stax/impl/OutputProcessorChainImpl.java
index 203e9653..421a260b 100644
--- a/src/main/java/org/apache/xml/security/stax/impl/OutputProcessorChainImpl.java
+++ b/src/main/java/org/apache/xml/security/stax/impl/OutputProcessorChainImpl.java
@@ -146,8 +146,7 @@ public class OutputProcessorChainImpl implements OutputProcessorChain {
         }
         if (LOG.isDebugEnabled()) {
             LOG.debug("Added {} to output chain: ", newOutputProcessor.getClass().getName());
-            for (int i = 0; i < outputProcessors.size(); i++) {
-                OutputProcessor outputProcessor = outputProcessors.get(i);
+            for (OutputProcessor outputProcessor : outputProcessors) {
                 LOG.debug("Name: {} phase: {}", outputProcessor.getClass().getName(), outputProcessor.getPhase());
             }
         }
diff --git a/src/main/java/org/apache/xml/security/stax/impl/XMLSecurityEventWriter.java b/src/main/java/org/apache/xml/security/stax/impl/XMLSecurityEventWriter.java
index 346a6466..55339103 100644
--- a/src/main/java/org/apache/xml/security/stax/impl/XMLSecurityEventWriter.java
+++ b/src/main/java/org/apache/xml/security/stax/impl/XMLSecurityEventWriter.java
@@ -66,14 +66,12 @@ public class XMLSecurityEventWriter implements XMLEventWriter {
                 this.xmlStreamWriter.writeStartElement(n.getPrefix(), n.getLocalPart(), n.getNamespaceURI());
 
                 List<XMLSecNamespace> xmlSecNamespaces = xmlSecStartElement.getOnElementDeclaredNamespaces();
-                for (int i = 0; i < xmlSecNamespaces.size(); i++) {
-                    Namespace namespace = xmlSecNamespaces.get(i);
+                for (XMLSecNamespace namespace : xmlSecNamespaces) {
                     add(namespace);
                 }
 
                 List<XMLSecAttribute> xmlSecAttributes = xmlSecStartElement.getOnElementDeclaredAttributes();
-                for (int i = 0; i < xmlSecAttributes.size(); i++) {
-                    XMLSecAttribute xmlSecAttribute = xmlSecAttributes.get(i);
+                for (XMLSecAttribute xmlSecAttribute : xmlSecAttributes) {
                     add(xmlSecAttribute);
                 }
                 break;
diff --git a/src/main/java/org/apache/xml/security/stax/impl/processor/output/AbstractEncryptOutputProcessor.java b/src/main/java/org/apache/xml/security/stax/impl/processor/output/AbstractEncryptOutputProcessor.java
index 2b30bf31..efa2fa5a 100644
--- a/src/main/java/org/apache/xml/security/stax/impl/processor/output/AbstractEncryptOutputProcessor.java
+++ b/src/main/java/org/apache/xml/security/stax/impl/processor/output/AbstractEncryptOutputProcessor.java
@@ -30,6 +30,7 @@ import java.util.Deque;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 
 import javax.crypto.Cipher;
 import javax.crypto.CipherOutputStream;
@@ -43,7 +44,6 @@ import org.apache.commons.codec.binary.Base64OutputStream;
 import org.apache.xml.security.algorithms.JCEMapper;
 import org.apache.xml.security.encryption.XMLCipherUtil;
 import org.apache.xml.security.exceptions.XMLSecurityException;
-import org.apache.xml.security.stax.config.JCEAlgorithmMapper;
 import org.apache.xml.security.stax.ext.AbstractOutputProcessor;
 import org.apache.xml.security.stax.ext.OutputProcessorChain;
 import org.apache.xml.security.stax.ext.SecurePart;
@@ -94,28 +94,29 @@ public abstract class AbstractEncryptOutputProcessor extends AbstractOutputProce
     }
 
     protected void verifyEncryptionParts(OutputProcessorChain outputProcessorChain) throws XMLSecurityException {
-        List<EncryptionPartDef> encryptionPartDefs =
-                outputProcessorChain.getSecurityContext().getAsList(EncryptionPartDef.class);
-
-        Map<Object, SecurePart> dynamicSecureParts = outputProcessorChain.getSecurityContext().getAsMap(XMLSecurityConstants.ENCRYPTION_PARTS);
-        Iterator<Map.Entry<Object, SecurePart>> securePartsMapIterator = dynamicSecureParts.entrySet().iterator();
-        loop:
-        while (securePartsMapIterator.hasNext()) {
-            Map.Entry<Object, SecurePart> securePartEntry = securePartsMapIterator.next();
+        List<EncryptionPartDef> encryptionPartDefs = outputProcessorChain.getSecurityContext()
+            .getAsList(EncryptionPartDef.class);
+        Map<Object, SecurePart> dynamicSecureParts = outputProcessorChain.getSecurityContext()
+            .getAsMap(XMLSecurityConstants.ENCRYPTION_PARTS);
+        for (Entry<Object, SecurePart> securePartEntry : dynamicSecureParts.entrySet()) {
             final SecurePart securePart = securePartEntry.getValue();
-
-            if (securePart.isRequired()) {
-                for (int i = 0; encryptionPartDefs != null && i < encryptionPartDefs.size(); i++) {
-                    EncryptionPartDef encryptionPartDef = encryptionPartDefs.get(i);
-
-                    if (encryptionPartDef.getSecurePart() == securePart) {
-                        continue loop;
-                    }
-                }
+            if (securePart.isRequired() && !findSecurePart(securePart, encryptionPartDefs)) {
                 throw new XMLSecurityException("stax.encryption.securePartNotFound",
-                                               new Object[] {securePart.getName()});
+                    new Object[] {securePart.getName()});
+            }
+        }
+    }
+
+    private boolean findSecurePart(final SecurePart securePart, List<EncryptionPartDef> encryptionPartDefs) {
+        if (encryptionPartDefs == null) {
+            return false;
+        }
+        for (EncryptionPartDef encryptionPartDef : encryptionPartDefs) {
+            if (encryptionPartDef.getSecurePart() == securePart) {
+                return true;
             }
         }
+        return false;
     }
 
     protected AbstractInternalEncryptionOutputProcessor getActiveInternalEncryptionOutputProcessor() {
@@ -160,7 +161,7 @@ public abstract class AbstractEncryptOutputProcessor extends AbstractOutputProce
             String encryptionSymAlgorithm = securityProperties.getEncryptionSymAlgorithm();
             try {
                 //initialize the cipher
-                String jceAlgorithm = JCEAlgorithmMapper.translateURItoJCEID(encryptionSymAlgorithm);
+                String jceAlgorithm = JCEMapper.translateURItoJCEID(encryptionSymAlgorithm);
                 if (jceAlgorithm == null) {
                     throw new XMLSecurityException("algorithms.NoSuchMap",
                                                    new Object[] {encryptionSymAlgorithm});
diff --git a/src/main/java/org/apache/xml/security/stax/impl/processor/output/AbstractSignatureOutputProcessor.java b/src/main/java/org/apache/xml/security/stax/impl/processor/output/AbstractSignatureOutputProcessor.java
index ec5497f3..cb5ab734 100644
--- a/src/main/java/org/apache/xml/security/stax/impl/processor/output/AbstractSignatureOutputProcessor.java
+++ b/src/main/java/org/apache/xml/security/stax/impl/processor/output/AbstractSignatureOutputProcessor.java
@@ -26,16 +26,16 @@ import java.security.NoSuchAlgorithmException;
 import java.security.NoSuchProviderException;
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 
 import javax.xml.stream.XMLStreamConstants;
 import javax.xml.stream.XMLStreamException;
 
+import org.apache.xml.security.algorithms.JCEMapper;
 import org.apache.xml.security.exceptions.XMLSecurityException;
-import org.apache.xml.security.stax.config.JCEAlgorithmMapper;
 import org.apache.xml.security.stax.config.ResourceResolverMapper;
 import org.apache.xml.security.stax.ext.AbstractOutputProcessor;
 import org.apache.xml.security.stax.ext.OutputProcessorChain;
@@ -147,26 +147,25 @@ public abstract class AbstractSignatureOutputProcessor extends AbstractOutputPro
     protected void verifySignatureParts(OutputProcessorChain outputProcessorChain) throws XMLSecurityException {
         List<SignaturePartDef> signaturePartDefs = getSignaturePartDefList();
         Map<Object, SecurePart> dynamicSecureParts = outputProcessorChain.getSecurityContext().getAsMap(XMLSecurityConstants.SIGNATURE_PARTS);
-        if (dynamicSecureParts != null) {
-            Iterator<Map.Entry<Object, SecurePart>> securePartsMapIterator = dynamicSecureParts.entrySet().iterator();
-            loop:
-            while (securePartsMapIterator.hasNext()) {
-                Map.Entry<Object, SecurePart> securePartEntry = securePartsMapIterator.next();
-                final SecurePart securePart = securePartEntry.getValue();
-
-                if (securePart.isRequired()) {
-                    for (int i = 0; i < signaturePartDefs.size(); i++) {
-                        SignaturePartDef signaturePartDef = signaturePartDefs.get(i);
+        if (dynamicSecureParts == null) {
+            return;
+        }
+        for (Entry<Object, SecurePart> securePartEntry : dynamicSecureParts.entrySet()) {
+            final SecurePart securePart = securePartEntry.getValue();
+            if (securePart.isRequired() && !findSecurePart(securePart, signaturePartDefs)) {
+                throw new XMLSecurityException("stax.signature.securePartNotFound",
+                    new Object[] {securePart.getName()});
+            }
+        }
+    }
 
-                        if (signaturePartDef.getSecurePart() == securePart) {
-                            continue loop;
-                        }
-                    }
-                    throw new XMLSecurityException("stax.signature.securePartNotFound",
-                                                   new Object[] {securePart.getName()});
-                }
+    private boolean findSecurePart(final SecurePart securePart, List<SignaturePartDef> signaturePartDefs) {
+        for (SignaturePartDef signaturePartDef : signaturePartDefs) {
+            if (signaturePartDef.getSecurePart() == securePart) {
+                return true;
             }
         }
+        return false;
     }
 
     protected InternalSignatureOutputProcessor getActiveInternalSignatureOutputProcessor() {
@@ -181,8 +180,8 @@ public abstract class AbstractSignatureOutputProcessor extends AbstractOutputPro
     protected DigestOutputStream createMessageDigestOutputStream(String digestAlgorithm)
             throws XMLSecurityException {
 
-        String jceName = JCEAlgorithmMapper.translateURItoJCEID(digestAlgorithm);
-        String jceProvider = JCEAlgorithmMapper.getJCEProviderFromURI(digestAlgorithm);
+        String jceName = JCEMapper.translateURItoJCEID(digestAlgorithm);
+        String jceProvider = JCEMapper.getJCEProviderFromURI(digestAlgorithm);
         if (jceName == null) {
             throw new XMLSecurityException("algorithms.NoSuchMap",
                                            new Object[] {digestAlgorithm});
@@ -251,8 +250,8 @@ public abstract class AbstractSignatureOutputProcessor extends AbstractOutputPro
 
     public class InternalSignatureOutputProcessor extends AbstractOutputProcessor {
 
-        private SignaturePartDef signaturePartDef;
-        private XMLSecStartElement xmlSecStartElement;
+        private final SignaturePartDef signaturePartDef;
+        private final XMLSecStartElement xmlSecStartElement;
         private int elementCounter;
 
         private OutputStream bufferedDigestOutputStream;
diff --git a/src/main/java/org/apache/xml/security/stax/impl/processor/output/XMLSignatureEndingOutputProcessor.java b/src/main/java/org/apache/xml/security/stax/impl/processor/output/XMLSignatureEndingOutputProcessor.java
index 497f3da8..9f01734e 100644
--- a/src/main/java/org/apache/xml/security/stax/impl/processor/output/XMLSignatureEndingOutputProcessor.java
+++ b/src/main/java/org/apache/xml/security/stax/impl/processor/output/XMLSignatureEndingOutputProcessor.java
@@ -206,9 +206,7 @@ public class XMLSignatureEndingOutputProcessor extends AbstractSignatureEndingOu
             createStartElementAndOutputAsEvent(subOutputProcessorChain, XMLSecurityConstants.TAG_dsig_Transforms, false, null);
 
             String[] transforms = signaturePartDef.getTransforms();
-            for (int i = 0; i < transforms.length; i++) {
-                String transform = transforms[i];
-
+            for (String transform : transforms) {
                 if (!shouldIncludeTransform(transform)) {
                     continue;
                 }
diff --git a/src/main/java/org/apache/xml/security/stax/impl/stax/XMLSecStartElementImpl.java b/src/main/java/org/apache/xml/security/stax/impl/stax/XMLSecStartElementImpl.java
index b4add21d..b2670166 100644
--- a/src/main/java/org/apache/xml/security/stax/impl/stax/XMLSecStartElementImpl.java
+++ b/src/main/java/org/apache/xml/security/stax/impl/stax/XMLSecStartElementImpl.java
@@ -169,8 +169,7 @@ public class XMLSecStartElementImpl extends XMLSecEventBaseImpl implements XMLSe
 
     @Override
     public Attribute getAttributeByName(QName name) {
-        for (int i = 0; i < attributes.size(); i++) {
-            Attribute comparableAttribute = attributes.get(i);
+        for (XMLSecAttribute comparableAttribute : attributes) {
             if (name.equals(comparableAttribute.getName())) {
                 return comparableAttribute;
             }
@@ -183,8 +182,7 @@ public class XMLSecStartElementImpl extends XMLSecEventBaseImpl implements XMLSe
         return new NamespaceContext() {
             @Override
             public String getNamespaceURI(String prefix) {
-                for (int i = 0; i < namespaces.size(); i++) {
-                    Namespace comparableNamespace = namespaces.get(i);
+                for (XMLSecNamespace comparableNamespace : namespaces) {
                     if (prefix.equals(comparableNamespace.getPrefix())) {
                         return comparableNamespace.getNamespaceURI();
                     }
@@ -197,8 +195,7 @@ public class XMLSecStartElementImpl extends XMLSecEventBaseImpl implements XMLSe
 
             @Override
             public String getPrefix(String namespaceURI) {
-                for (int i = 0; i < namespaces.size(); i++) {
-                    Namespace comparableNamespace = namespaces.get(i);
+                for (XMLSecNamespace comparableNamespace : namespaces) {
                     if (namespaceURI.equals(comparableNamespace.getNamespaceURI())) {
                         return comparableNamespace.getPrefix();
                     }
@@ -218,8 +215,7 @@ public class XMLSecStartElementImpl extends XMLSecEventBaseImpl implements XMLSe
                 List<XMLSecNamespace> xmlSecNamespaces = new ArrayList<>();
                 getNamespacesFromCurrentScope(xmlSecNamespaces);
 
-                for (int i = 0; i < xmlSecNamespaces.size(); i++) {
-                    Namespace xmlSecNamespace = xmlSecNamespaces.get(i);
+                for (XMLSecNamespace xmlSecNamespace : xmlSecNamespaces) {
                     if (namespaceURI.equals(xmlSecNamespace.getNamespaceURI())) {
                         prefixes.add(xmlSecNamespace.getPrefix());
                     }
@@ -231,8 +227,7 @@ public class XMLSecStartElementImpl extends XMLSecEventBaseImpl implements XMLSe
 
     @Override
     public String getNamespaceURI(String prefix) {
-        for (int i = 0; i < namespaces.size(); i++) {
-            Namespace comparableNamespace = namespaces.get(i);
+        for (XMLSecNamespace comparableNamespace : namespaces) {
             if (prefix.equals(comparableNamespace.getPrefix())) {
                 return comparableNamespace.getNamespaceURI();
             }
diff --git a/src/main/java/org/apache/xml/security/stax/impl/transformer/canonicalizer/CanonicalizerBase.java b/src/main/java/org/apache/xml/security/stax/impl/transformer/canonicalizer/CanonicalizerBase.java
index 0ce94ea2..a6cb8279 100644
--- a/src/main/java/org/apache/xml/security/stax/impl/transformer/canonicalizer/CanonicalizerBase.java
+++ b/src/main/java/org/apache/xml/security/stax/impl/transformer/canonicalizer/CanonicalizerBase.java
@@ -293,8 +293,7 @@ public abstract class CanonicalizerBase extends TransformIdentity {
 
                     if (!utilizedNamespaces.isEmpty()) {
                         Collections.sort(utilizedNamespaces);
-                        for (int i = 0; i < utilizedNamespaces.size(); i++) {
-                            final XMLSecNamespace xmlSecNamespace = utilizedNamespaces.get(i);
+                        for (final XMLSecNamespace xmlSecNamespace : utilizedNamespaces) {
                             if (!namespaceIsAbsolute(xmlSecNamespace.getNamespaceURI())) {
                                 throw new XMLStreamException("namespace is relative encountered: " + xmlSecNamespace.getNamespaceURI());
                             }
@@ -309,9 +308,7 @@ public abstract class CanonicalizerBase extends TransformIdentity {
 
                     if (!utilizedAttributes.isEmpty()) {
                         Collections.sort(utilizedAttributes);
-                        for (int i = 0; i < utilizedAttributes.size(); i++) {
-                            final XMLSecAttribute xmlSecAttribute = utilizedAttributes.get(i);
-
+                        for (final XMLSecAttribute xmlSecAttribute : utilizedAttributes) {
                             final QName attributeName = xmlSecAttribute.getName();
                             final String attributeNamePrefix = attributeName.getPrefix();
                             if (attributeNamePrefix != null && !attributeNamePrefix.isEmpty()) {
diff --git a/src/main/java/org/apache/xml/security/transforms/implementations/TransformXPath2Filter.java b/src/main/java/org/apache/xml/security/transforms/implementations/TransformXPath2Filter.java
index 356ed02f..225787e8 100644
--- a/src/main/java/org/apache/xml/security/transforms/implementations/TransformXPath2Filter.java
+++ b/src/main/java/org/apache/xml/security/transforms/implementations/TransformXPath2Filter.java
@@ -92,9 +92,7 @@ public class TransformXPath2Filter extends TransformSpi {
             }
 
             XPathFactory xpathFactory = getXPathFactory();
-            for (int i = 0; i < xpathElements.length; i++) {
-                Element xpathElement = xpathElements[i];
-
+            for (Element xpathElement : xpathElements) {
                 XPath2FilterContainer xpathContainer =
                     XPath2FilterContainer.newInstance(xpathElement, input.getSourceURI());
 
diff --git a/src/test/java/org/apache/xml/security/test/dom/c14n/helper/AttrCompareTest.java b/src/test/java/org/apache/xml/security/test/dom/c14n/helper/AttrCompareTest.java
index 440a59ad..2cfe28f5 100644
--- a/src/test/java/org/apache/xml/security/test/dom/c14n/helper/AttrCompareTest.java
+++ b/src/test/java/org/apache/xml/security/test/dom/c14n/helper/AttrCompareTest.java
@@ -161,16 +161,15 @@ public class AttrCompareTest {
                         createAttr(doc, "a:attr", "out", "http://www.w3.org") };
 
         //J+
-        for (int i = 0; i < attrs.length; i++) {
-            root.setAttributeNode(attrs[i]);
+        for (Attr attr : attrs) {
+            root.setAttributeNode(attr);
         }
 
         NamedNodeMap nnm = root.getAttributes();
 
         assertEquals(nnm.getLength(), attrs.length, "nnm.getLength()");
 
-        for (int i = 0; i < attrs.length; i++) {
-            Attr attr = attrs[i];
+        for (Attr attr : attrs) {
             assertNotNull(attr, "Attribute attr");
         }
 
diff --git a/src/test/java/org/apache/xml/security/test/javax/xml/crypto/dsig/CanonicalizationMethodTest.java b/src/test/java/org/apache/xml/security/test/javax/xml/crypto/dsig/CanonicalizationMethodTest.java
index 87b4dcec..ad48988a 100644
--- a/src/test/java/org/apache/xml/security/test/javax/xml/crypto/dsig/CanonicalizationMethodTest.java
+++ b/src/test/java/org/apache/xml/security/test/javax/xml/crypto/dsig/CanonicalizationMethodTest.java
@@ -92,8 +92,7 @@ public class CanonicalizationMethodTest {
         //                         AlgorithmParameterSpec params)
         // for generating CanonicalizationMethod objects
         CanonicalizationMethod cm;
-        for (int i = 0; i < C14N_ALGOS.length; i++) {
-            String algo = C14N_ALGOS[i];
+        for (String algo : C14N_ALGOS) {
             cm = factory.newCanonicalizationMethod(algo,
                 (C14NMethodParameterSpec) null);
             assertNotNull(cm);
diff --git a/src/test/java/org/apache/xml/security/test/stax/IVSplittingOutputStreamTest.java b/src/test/java/org/apache/xml/security/test/stax/IVSplittingOutputStreamTest.java
index 00f9b348..9a363096 100644
--- a/src/test/java/org/apache/xml/security/test/stax/IVSplittingOutputStreamTest.java
+++ b/src/test/java/org/apache/xml/security/test/stax/IVSplittingOutputStreamTest.java
@@ -53,8 +53,8 @@ public class IVSplittingOutputStreamTest {
         ReplaceableOuputStream replaceableOuputStream = new ReplaceableOuputStream(ivSplittingOutputStream);
         ivSplittingOutputStream.setParentOutputStream(replaceableOuputStream);
         byte[] testBytes = TEST_STR.getBytes();
-        for (int i = 0; i < testBytes.length; i++) {
-            replaceableOuputStream.write(testBytes[i]);
+        for (byte testByte : testBytes) {
+            replaceableOuputStream.write(testByte);
         }
         replaceableOuputStream.close();
 
diff --git a/src/test/java/org/apache/xml/security/test/stax/TrimmerOutputStreamTest.java b/src/test/java/org/apache/xml/security/test/stax/TrimmerOutputStreamTest.java
index 8ad662cf..e98312d9 100644
--- a/src/test/java/org/apache/xml/security/test/stax/TrimmerOutputStreamTest.java
+++ b/src/test/java/org/apache/xml/security/test/stax/TrimmerOutputStreamTest.java
@@ -38,8 +38,8 @@ public class TrimmerOutputStreamTest {
         TrimmerOutputStream trimmerOutputStream = new TrimmerOutputStream(baos, 32, 3, 4);
 
         byte[] TEST_STRBytes = ("<a>" + TEST_STR + "</a>").getBytes();
-        for (int i = 0; i < TEST_STRBytes.length; i++) {
-            trimmerOutputStream.write(TEST_STRBytes[i]);
+        for (byte test_STRByte : TEST_STRBytes) {
+            trimmerOutputStream.write(test_STRByte);
         }
         trimmerOutputStream.close();
 
diff --git a/src/test/java/org/apache/xml/security/test/stax/performance/PerformanceMemoryTest.java b/src/test/java/org/apache/xml/security/test/stax/performance/PerformanceMemoryTest.java
index 239cc98a..60782514 100644
--- a/src/test/java/org/apache/xml/security/test/stax/performance/PerformanceMemoryTest.java
+++ b/src/test/java/org/apache/xml/security/test/stax/performance/PerformanceMemoryTest.java
@@ -20,10 +20,10 @@ package org.apache.xml.security.test.stax.performance;
 
 import java.io.File;
 import java.io.FileWriter;
-import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.TreeMap;
 
 import org.junit.jupiter.api.MethodOrderer;
@@ -95,9 +95,7 @@ public class PerformanceMemoryTest extends AbstractPerformanceTest {
         FileWriter inSignatureSamplesWriter = new FileWriter("target/signatureInMemorySamples.txt", false);
 
         int run = 1;
-        Iterator<Map.Entry<Integer, File>> mapIterator = signedFiles.entrySet().iterator();
-        while (mapIterator.hasNext()) {
-            Map.Entry<Integer, File> entry = mapIterator.next();
+        for (Entry<Integer, File> entry : signedFiles.entrySet()) {
             System.out.println("Run " + (run++));
 
             File file = entry.getValue();
@@ -175,9 +173,7 @@ public class PerformanceMemoryTest extends AbstractPerformanceTest {
         FileWriter inEncryptionSamplesWriter = new FileWriter("target/encryptionInMemorySamples.txt", false);
 
         int run = 1;
-        Iterator<Map.Entry<Integer, File>> mapIterator = encryptedFiles.entrySet().iterator();
-        while (mapIterator.hasNext()) {
-            Map.Entry<Integer, File> entry = mapIterator.next();
+        for (Entry<Integer, File> entry : encryptedFiles.entrySet()) {
             System.out.println("Run " + (run++));
 
             File file = entry.getValue();
@@ -262,8 +258,7 @@ public class PerformanceMemoryTest extends AbstractPerformanceTest {
         public int getMaxUsedMemory() {
             System.out.println("Collected " + memory.size() + " samples");
             int maxMem = Integer.MIN_VALUE;
-            for (int i = 0; i < memory.size(); i++) {
-                int mem = memory.get(i);
+            for (Integer mem : memory) {
                 maxMem = mem > maxMem ? mem : maxMem;
             }
             System.out.println("Max memory usage: " + maxMem + "MB");
diff --git a/src/test/java/org/apache/xml/security/test/stax/performance/PerformanceTimingTest.java b/src/test/java/org/apache/xml/security/test/stax/performance/PerformanceTimingTest.java
index 0bccf9bb..40cc9c00 100644
--- a/src/test/java/org/apache/xml/security/test/stax/performance/PerformanceTimingTest.java
+++ b/src/test/java/org/apache/xml/security/test/stax/performance/PerformanceTimingTest.java
@@ -20,8 +20,8 @@ package org.apache.xml.security.test.stax.performance;
 
 import java.io.File;
 import java.io.FileWriter;
-import java.util.Iterator;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.TreeMap;
 
 import org.junit.jupiter.api.MethodOrderer;
@@ -82,9 +82,7 @@ public class PerformanceTimingTest extends AbstractPerformanceTest {
         FileWriter inSignatureSamplesWriter = new FileWriter("target/signatureInTimeSamples.txt", false);
 
         int run = 1;
-        Iterator<Map.Entry<Integer, File>> mapIterator = signedFiles.entrySet().iterator();
-        while (mapIterator.hasNext()) {
-            Map.Entry<Integer, File> entry = mapIterator.next();
+        for (Entry<Integer, File> entry : signedFiles.entrySet()) {
             System.out.println("Run " + (run++));
 
             File file = entry.getValue();
@@ -142,9 +140,7 @@ public class PerformanceTimingTest extends AbstractPerformanceTest {
         FileWriter inEncryptionSamplesWriter = new FileWriter("target/encryptionInTimeSamples.txt", false);
 
         int run = 1;
-        Iterator<Map.Entry<Integer, File>> mapIterator = encryptedFiles.entrySet().iterator();
-        while (mapIterator.hasNext()) {
-            Map.Entry<Integer, File> entry = mapIterator.next();
+        for (Entry<Integer, File> entry : encryptedFiles.entrySet()) {
             System.out.println("Run " + (run++));
 
             File file = entry.getValue();