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

tabish pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-protonj2.git

commit 1a08ddf46c40305d8a810214678b603e04cac5aa
Author: Timothy Bish <[email protected]>
AuthorDate: Wed Mar 25 15:29:24 2026 -0400

    PROTON-2925 Clean up some code using new switch expressions
    
    Cleans up some encoder code that uses switches with newer expression syntax
    also cleans up some other bits of switch code and enhances the decoder API
    with additional readUnsignedInteger with default to clean up some cases.
---
 .../protonj2/client/impl/ClientRemoteSource.java   |  18 +--
 .../qpid/protonj2/test/driver/AMQPTestDriver.java  |   4 +-
 .../org/apache/qpid/protonj2/codec/Decoder.java    |  19 ++++
 .../apache/qpid/protonj2/codec/StreamDecoder.java  |  19 ++++
 .../protonj2/codec/decoders/ProtonDecoder.java     |  22 +++-
 .../codec/decoders/ProtonStreamDecoder.java        |  22 +++-
 .../decoders/messaging/HeaderTypeDecoder.java      |  40 ++-----
 .../decoders/messaging/ModifiedTypeDecoder.java    |  28 +----
 .../decoders/messaging/PropertiesTypeDecoder.java  | 104 +++++------------
 .../decoders/messaging/ReceivedTypeDecoder.java    |  16 +--
 .../decoders/messaging/RejectedTypeDecoder.java    |   8 +-
 .../decoders/messaging/SourceTypeDecoder.java      |  92 ++++-----------
 .../decoders/messaging/TargetTypeDecoder.java      |  60 +++-------
 .../codec/decoders/primitives/ByteTypeDecoder.java |   1 -
 .../decoders/primitives/Decimal128TypeDecoder.java |   1 -
 .../decoders/primitives/Decimal32TypeDecoder.java  |   1 -
 .../decoders/primitives/DoubleTypeDecoder.java     |   1 -
 .../decoders/primitives/Integer32TypeDecoder.java  |   1 -
 .../decoders/security/SaslInitTypeDecoder.java     |  24 +---
 .../decoders/security/SaslOutcomeTypeDecoder.java  |  16 +--
 .../transactions/DischargeTypeDecoder.java         |  16 +--
 .../transactions/TransactionStateTypeDecoder.java  |  16 +--
 .../decoders/transport/AttachTypeDecoder.java      | 125 ++++++---------------
 .../codec/decoders/transport/BeginTypeDecoder.java |  77 ++++---------
 .../decoders/transport/DetachTypeDecoder.java      |  24 +---
 .../decoders/transport/DispositionTypeDecoder.java |  48 ++------
 .../transport/ErrorConditionTypeDecoder.java       |  24 +---
 .../codec/decoders/transport/FlowTypeDecoder.java  | 101 +++++------------
 .../codec/decoders/transport/OpenTypeDecoder.java  |  80 ++++---------
 .../decoders/transport/TransferTypeDecoder.java    |  88 ++++-----------
 .../protonj2/codec/decoders/ProtonDecoderTest.java |  21 ++++
 .../codec/decoders/ProtonStreamDecoderTest.java    |  23 ++++
 32 files changed, 388 insertions(+), 752 deletions(-)

diff --git 
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/impl/ClientRemoteSource.java
 
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/impl/ClientRemoteSource.java
index 91a378b7..39336c96 100644
--- 
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/impl/ClientRemoteSource.java
+++ 
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/impl/ClientRemoteSource.java
@@ -78,15 +78,15 @@ final class ClientRemoteSource implements Source {
     public ExpiryPolicy expiryPolicy() {
         if (remoteSource.getExpiryPolicy() != null) {
             switch (remoteSource.getExpiryPolicy()) {
-            case LINK_DETACH:
-                return ExpiryPolicy.LINK_CLOSE;
-            case SESSION_END:
-                return ExpiryPolicy.SESSION_CLOSE;
-            case CONNECTION_CLOSE:
-                return ExpiryPolicy.CONNECTION_CLOSE;
-            case NEVER:
-                return ExpiryPolicy.NEVER;
-            }
+                case LINK_DETACH:
+                    return ExpiryPolicy.LINK_CLOSE;
+                case SESSION_END:
+                    return ExpiryPolicy.SESSION_CLOSE;
+                case CONNECTION_CLOSE:
+                    return ExpiryPolicy.CONNECTION_CLOSE;
+                case NEVER:
+                    return ExpiryPolicy.NEVER;
+                }
         }
 
         return ExpiryPolicy.SESSION_CLOSE;
diff --git 
a/protonj2-test-driver/src/main/java/org/apache/qpid/protonj2/test/driver/AMQPTestDriver.java
 
b/protonj2-test-driver/src/main/java/org/apache/qpid/protonj2/test/driver/AMQPTestDriver.java
index e67d0290..8bc2c8b0 100644
--- 
a/protonj2-test-driver/src/main/java/org/apache/qpid/protonj2/test/driver/AMQPTestDriver.java
+++ 
b/protonj2-test-driver/src/main/java/org/apache/qpid/protonj2/test/driver/AMQPTestDriver.java
@@ -620,8 +620,8 @@ public class AMQPTestDriver implements Consumer<ByteBuffer> 
{
     public void sendAMQPFrame(int channel, DescribedType performative, 
ByteBuffer payload, boolean splitWrite) {
         LOG.trace("{} Sending performative: {}", driverName, performative);
 
-        if (performative instanceof PerformativeDescribedType) {
-            switch (((PerformativeDescribedType) 
performative).getPerformativeType()) {
+        if (performative instanceof PerformativeDescribedType describedType) {
+            switch (describedType.getPerformativeType()) {
                 case OPEN:
                     localOpen = (Open) performative;
                 default:
diff --git a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/Decoder.java 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/Decoder.java
index 137a082e..fbafdd8d 100644
--- a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/Decoder.java
+++ b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/Decoder.java
@@ -402,6 +402,25 @@ public interface Decoder {
      */
     UnsignedInteger readUnsignedInteger(ProtonBuffer buffer, DecoderState 
state) throws DecodeException;
 
+    /**
+     * Reads an encoded {@link UnsignedInteger} value from the given {@link 
ProtonBuffer} assuming that the
+     * next value in the byte stream is that type.  The operation fails if the 
next encoded type is
+     * not what was expected.  If the caller wishes to recover from failed 
decode attempt they should
+     * make a note of the current read position and reset the input to make a 
further read attempt.
+     *
+     * @param buffer
+     *                 The {@link ProtonBuffer} where the read operation takes 
place.
+     * @param state
+     *                 The {@link DecoderState} that the decoder can use when 
decoding.
+     * @param defaultValue
+     *                 A default value to return if the next encoded value is 
a Null encoding.
+     *
+     * @return the value read from the provided byte source.
+     *
+     * @throws DecodeException if the value fails to decode is not of the 
expected type,
+     */
+    UnsignedInteger readUnsignedInteger(ProtonBuffer buffer, DecoderState 
state, UnsignedInteger defaultValue) throws DecodeException;
+
     /**
      * Reads an encoded {@link UnsignedInteger} value from the given {@link 
ProtonBuffer} assuming that the
      * next value in the byte stream is that type.  The operation fails if the 
next encoded type is
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/StreamDecoder.java 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/StreamDecoder.java
index 15b70a83..512f6a48 100644
--- a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/StreamDecoder.java
+++ b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/StreamDecoder.java
@@ -406,6 +406,25 @@ public interface StreamDecoder {
      */
     UnsignedInteger readUnsignedInteger(InputStream stream, StreamDecoderState 
state) throws DecodeException;
 
+    /**
+     * Reads an encoded {@link UnsignedInteger} value from the given {@link 
InputStream} assuming that the
+     * next value in the byte stream is that type.  The operation fails if the 
next encoded type is
+     * not what was expected.  If the caller wishes to recover from failed 
decode attempt they should
+     * make a note of the current read position and reset the input to make a 
further read attempt.
+     *
+     * @param stream
+     *                 The {@link InputStream} where the read operation takes 
place.
+     * @param state
+     *                 The {@link DecoderState} that the decoder can use when 
decoding.
+     * @param defaultValue
+     *                 A default value to return if the next encoded value is 
a Null encoding.
+     *
+     * @return the value read from the provided byte source.
+     *
+     * @throws DecodeException if the value fails to decode is not of the 
expected type,
+     */
+    UnsignedInteger readUnsignedInteger(InputStream stream, StreamDecoderState 
state, UnsignedInteger defaultValue) throws DecodeException;
+
     /**
      * Reads an encoded {@link UnsignedInteger} value from the given {@link 
InputStream} assuming that the
      * next value in the byte stream is that type.  The operation fails if the 
next encoded type is
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/ProtonDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/ProtonDecoder.java
index 912b3247..30c3e420 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/ProtonDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/ProtonDecoder.java
@@ -579,6 +579,24 @@ public final class ProtonDecoder implements Decoder {
         }
     }
 
+    @Override
+    public UnsignedInteger readUnsignedInteger(ProtonBuffer buffer, 
DecoderState state, UnsignedInteger defaultValue) throws DecodeException {
+        final byte encodingCode = readEncodingCode(buffer);
+
+        switch (encodingCode) {
+            case EncodingCodes.UINT0:
+                return UnsignedInteger.ZERO;
+            case EncodingCodes.SMALLUINT:
+                return UnsignedInteger.valueOf((buffer.readByte()) & 0xff);
+            case EncodingCodes.UINT:
+                return UnsignedInteger.valueOf((buffer.readInt()));
+            case EncodingCodes.NULL:
+                return defaultValue;
+            default:
+                throw new DecodeException("Expected Unsigned Integer type but 
found encoding: " + EncodingCodes.toString(encodingCode));
+        }
+    }
+
     @Override
     public int readUnsignedInteger(ProtonBuffer buffer, DecoderState state, 
int defaultValue) throws DecodeException {
         final byte encodingCode = readEncodingCode(buffer);
@@ -927,7 +945,7 @@ public final class ProtonDecoder implements Decoder {
     }
 
     private TypeDecoder<?> handleUnknownDescribedType(final Object descriptor) 
{
-        TypeDecoder<?> typeDecoder = new UnknownDescribedTypeDecoder() {
+        final UnknownDescribedTypeDecoder typeDecoder = new 
UnknownDescribedTypeDecoder() {
 
             @Override
             public Object getDescriptor() {
@@ -935,7 +953,7 @@ public final class ProtonDecoder implements Decoder {
             }
         };
 
-        describedTypeDecoders.put(descriptor, (UnknownDescribedTypeDecoder) 
typeDecoder);
+        describedTypeDecoders.put(descriptor, typeDecoder);
 
         return typeDecoder;
     }
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/ProtonStreamDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/ProtonStreamDecoder.java
index 8e595aec..c94e4889 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/ProtonStreamDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/ProtonStreamDecoder.java
@@ -603,6 +603,24 @@ public final class ProtonStreamDecoder implements 
StreamDecoder {
         }
     }
 
+    @Override
+    public UnsignedInteger readUnsignedInteger(InputStream stream, 
StreamDecoderState state, UnsignedInteger defaultValue) throws DecodeException {
+        final byte encodingCode = ProtonStreamUtils.readEncodingCode(stream);
+
+        switch (encodingCode) {
+            case EncodingCodes.UINT0:
+                return UnsignedInteger.ZERO;
+            case EncodingCodes.SMALLUINT:
+                return 
UnsignedInteger.valueOf(ProtonStreamUtils.readByte(stream) & 0xff);
+            case EncodingCodes.UINT:
+                return 
UnsignedInteger.valueOf(ProtonStreamUtils.readInt(stream));
+            case EncodingCodes.NULL:
+                return defaultValue;
+            default:
+                throw new DecodeException("Expected Unsigned Integer type but 
found encoding: " + EncodingCodes.toString(encodingCode));
+        }
+    }
+
     @Override
     public int readUnsignedInteger(InputStream stream, StreamDecoderState 
state, int defaultValue) throws DecodeException {
         final byte encodingCode = ProtonStreamUtils.readEncodingCode(stream);
@@ -943,7 +961,7 @@ public final class ProtonStreamDecoder implements 
StreamDecoder {
     }
 
     private StreamTypeDecoder<?> handleUnknownDescribedType(final Object 
descriptor) {
-        StreamTypeDecoder<?> streamTypeDecoder = new 
UnknownDescribedTypeDecoder() {
+        final UnknownDescribedTypeDecoder streamTypeDecoder = new 
UnknownDescribedTypeDecoder() {
 
             @Override
             public Object getDescriptor() {
@@ -951,7 +969,7 @@ public final class ProtonStreamDecoder implements 
StreamDecoder {
             }
         };
 
-        describedTypeDecoders.put(descriptor, (UnknownDescribedTypeDecoder) 
streamTypeDecoder);
+        describedTypeDecoders.put(descriptor, streamTypeDecoder);
 
         return streamTypeDecoder;
     }
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/HeaderTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/HeaderTypeDecoder.java
index 49a84999..4682aa52 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/HeaderTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/HeaderTypeDecoder.java
@@ -101,21 +101,11 @@ public final class HeaderTypeDecoder extends 
AbstractDescribedListTypeDecoder<He
             }
 
             switch (index) {
-                case 0:
-                    header.setDurable(state.getDecoder().readBoolean(buffer, 
state, false));
-                    break;
-                case 1:
-                    
header.setPriority(state.getDecoder().readUnsignedByte(buffer, state, 
Header.DEFAULT_PRIORITY));
-                    break;
-                case 2:
-                    
header.setTimeToLive(state.getDecoder().readUnsignedInteger(buffer, state, 0l));
-                    break;
-                case 3:
-                    
header.setFirstAcquirer(state.getDecoder().readBoolean(buffer, state, false));
-                    break;
-                case 4:
-                    
header.setDeliveryCount(state.getDecoder().readUnsignedInteger(buffer, state, 
0l));
-                    break;
+                case 0 -> 
header.setDurable(state.getDecoder().readBoolean(buffer, state, false));
+                case 1 -> 
header.setPriority(state.getDecoder().readUnsignedByte(buffer, state, 
Header.DEFAULT_PRIORITY));
+                case 2 -> 
header.setTimeToLive(state.getDecoder().readUnsignedInteger(buffer, state, 0l));
+                case 3 -> 
header.setFirstAcquirer(state.getDecoder().readBoolean(buffer, state, false));
+                case 4 -> 
header.setDeliveryCount(state.getDecoder().readUnsignedInteger(buffer, state, 
0l));
             }
         }
 
@@ -172,21 +162,11 @@ public final class HeaderTypeDecoder extends 
AbstractDescribedListTypeDecoder<He
             }
 
             switch (index) {
-                case 0:
-                    header.setDurable(state.getDecoder().readBoolean(stream, 
state, false));
-                    break;
-                case 1:
-                    
header.setPriority(state.getDecoder().readUnsignedByte(stream, state, 
Header.DEFAULT_PRIORITY));
-                    break;
-                case 2:
-                    
header.setTimeToLive(state.getDecoder().readUnsignedInteger(stream, state, 0l));
-                    break;
-                case 3:
-                    
header.setFirstAcquirer(state.getDecoder().readBoolean(stream, state, false));
-                    break;
-                case 4:
-                    
header.setDeliveryCount(state.getDecoder().readUnsignedInteger(stream, state, 
0l));
-                    break;
+                case 0 -> 
header.setDurable(state.getDecoder().readBoolean(stream, state, false));
+                case 1 -> 
header.setPriority(state.getDecoder().readUnsignedByte(stream, state, 
Header.DEFAULT_PRIORITY));
+                case 2 -> 
header.setTimeToLive(state.getDecoder().readUnsignedInteger(stream, state, 0l));
+                case 3 -> 
header.setFirstAcquirer(state.getDecoder().readBoolean(stream, state, false));
+                case 4 -> 
header.setDeliveryCount(state.getDecoder().readUnsignedInteger(stream, state, 
0l));
             }
         }
 
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/ModifiedTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/ModifiedTypeDecoder.java
index d5a2fcc0..bff22f94 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/ModifiedTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/ModifiedTypeDecoder.java
@@ -90,17 +90,9 @@ public final class ModifiedTypeDecoder extends 
AbstractDescribedListTypeDecoder<
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    
modified.setDeliveryFailed(state.getDecoder().readBoolean(buffer, state, 
false));
-                    break;
-                case 1:
-                    
modified.setUndeliverableHere(state.getDecoder().readBoolean(buffer, state, 
false));
-                    break;
-                case 2:
-                    
modified.setMessageAnnotations(state.getDecoder().readMap(buffer, state));
-                    break;
-                default:
-                    throw new DecodeException("To many entries in Modified 
encoding");
+                case 0 -> 
modified.setDeliveryFailed(state.getDecoder().readBoolean(buffer, state, 
false));
+                case 1 -> 
modified.setUndeliverableHere(state.getDecoder().readBoolean(buffer, state, 
false));
+                case 2 -> 
modified.setMessageAnnotations(state.getDecoder().readMap(buffer, state));
             }
         }
 
@@ -146,17 +138,9 @@ public final class ModifiedTypeDecoder extends 
AbstractDescribedListTypeDecoder<
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    
modified.setDeliveryFailed(state.getDecoder().readBoolean(stream, state, 
false));
-                    break;
-                case 1:
-                    
modified.setUndeliverableHere(state.getDecoder().readBoolean(stream, state, 
false));
-                    break;
-                case 2:
-                    
modified.setMessageAnnotations(state.getDecoder().readMap(stream, state));
-                    break;
-                default:
-                    throw new DecodeException("To many entries in Modified 
encoding");
+                case 0 -> 
modified.setDeliveryFailed(state.getDecoder().readBoolean(stream, state, 
false));
+                case 1 -> 
modified.setUndeliverableHere(state.getDecoder().readBoolean(stream, state, 
false));
+                case 2 -> 
modified.setMessageAnnotations(state.getDecoder().readMap(stream, state));
             }
         }
 
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/PropertiesTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/PropertiesTypeDecoder.java
index 63517014..e846d304 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/PropertiesTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/PropertiesTypeDecoder.java
@@ -101,45 +101,19 @@ public final class PropertiesTypeDecoder extends 
AbstractDescribedListTypeDecode
             }
 
             switch (index) {
-                case 0:
-                    
properties.setMessageId(state.getDecoder().readObject(buffer, state));
-                    break;
-                case 1:
-                    properties.setUserId(state.getDecoder().readBinary(buffer, 
state));
-                    break;
-                case 2:
-                    properties.setTo(state.getDecoder().readString(buffer, 
state));
-                    break;
-                case 3:
-                    
properties.setSubject(state.getDecoder().readString(buffer, state));
-                    break;
-                case 4:
-                    
properties.setReplyTo(state.getDecoder().readString(buffer, state));
-                    break;
-                case 5:
-                    
properties.setCorrelationId(state.getDecoder().readObject(buffer, state));
-                    break;
-                case 6:
-                    
properties.setContentType(state.getDecoder().readSymbol(buffer, state, null));
-                    break;
-                case 7:
-                    
properties.setContentEncoding(state.getDecoder().readSymbol(buffer, state, 
null));
-                    break;
-                case 8:
-                    
properties.setAbsoluteExpiryTime(state.getDecoder().readTimestamp(buffer, 
state, 0l));
-                    break;
-                case 9:
-                    
properties.setCreationTime(state.getDecoder().readTimestamp(buffer, state, 0l));
-                    break;
-                case 10:
-                    
properties.setGroupId(state.getDecoder().readString(buffer, state));
-                    break;
-                case 11:
-                    
properties.setGroupSequence(state.getDecoder().readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 12:
-                    
properties.setReplyToGroupId(state.getDecoder().readString(buffer, state));
-                    break;
+                case 0  -> 
properties.setMessageId(state.getDecoder().readObject(buffer, state));
+                case 1  -> 
properties.setUserId(state.getDecoder().readBinary(buffer, state));
+                case 2  -> 
properties.setTo(state.getDecoder().readString(buffer, state));
+                case 3  -> 
properties.setSubject(state.getDecoder().readString(buffer, state));
+                case 4  -> 
properties.setReplyTo(state.getDecoder().readString(buffer, state));
+                case 5  -> 
properties.setCorrelationId(state.getDecoder().readObject(buffer, state));
+                case 6  -> 
properties.setContentType(state.getDecoder().readSymbol(buffer, state, null));
+                case 7  -> 
properties.setContentEncoding(state.getDecoder().readSymbol(buffer, state, 
null));
+                case 8  -> 
properties.setAbsoluteExpiryTime(state.getDecoder().readTimestamp(buffer, 
state, 0l));
+                case 9  -> 
properties.setCreationTime(state.getDecoder().readTimestamp(buffer, state, 0l));
+                case 10 -> 
properties.setGroupId(state.getDecoder().readString(buffer, state));
+                case 11 -> 
properties.setGroupSequence(state.getDecoder().readUnsignedInteger(buffer, 
state, 0l));
+                case 12 -> 
properties.setReplyToGroupId(state.getDecoder().readString(buffer, state));
             }
         }
 
@@ -196,45 +170,19 @@ public final class PropertiesTypeDecoder extends 
AbstractDescribedListTypeDecode
             }
 
             switch (index) {
-                case 0:
-                    
properties.setMessageId(state.getDecoder().readObject(stream, state));
-                    break;
-                case 1:
-                    properties.setUserId(state.getDecoder().readBinary(stream, 
state));
-                    break;
-                case 2:
-                    properties.setTo(state.getDecoder().readString(stream, 
state));
-                    break;
-                case 3:
-                    
properties.setSubject(state.getDecoder().readString(stream, state));
-                    break;
-                case 4:
-                    
properties.setReplyTo(state.getDecoder().readString(stream, state));
-                    break;
-                case 5:
-                    
properties.setCorrelationId(state.getDecoder().readObject(stream, state));
-                    break;
-                case 6:
-                    
properties.setContentType(state.getDecoder().readSymbol(stream, state, null));
-                    break;
-                case 7:
-                    
properties.setContentEncoding(state.getDecoder().readSymbol(stream, state, 
null));
-                    break;
-                case 8:
-                    
properties.setAbsoluteExpiryTime(state.getDecoder().readTimestamp(stream, 
state, 0l));
-                    break;
-                case 9:
-                    
properties.setCreationTime(state.getDecoder().readTimestamp(stream, state, 0l));
-                    break;
-                case 10:
-                    
properties.setGroupId(state.getDecoder().readString(stream, state));
-                    break;
-                case 11:
-                    
properties.setGroupSequence(state.getDecoder().readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 12:
-                    
properties.setReplyToGroupId(state.getDecoder().readString(stream, state));
-                    break;
+                case 0  -> 
properties.setMessageId(state.getDecoder().readObject(stream, state));
+                case 1  -> 
properties.setUserId(state.getDecoder().readBinary(stream, state));
+                case 2  -> 
properties.setTo(state.getDecoder().readString(stream, state));
+                case 3  -> 
properties.setSubject(state.getDecoder().readString(stream, state));
+                case 4  -> 
properties.setReplyTo(state.getDecoder().readString(stream, state));
+                case 5  -> 
properties.setCorrelationId(state.getDecoder().readObject(stream, state));
+                case 6  -> 
properties.setContentType(state.getDecoder().readSymbol(stream, state, null));
+                case 7  -> 
properties.setContentEncoding(state.getDecoder().readSymbol(stream, state, 
null));
+                case 8  -> 
properties.setAbsoluteExpiryTime(state.getDecoder().readTimestamp(stream, 
state, 0l));
+                case 9  -> 
properties.setCreationTime(state.getDecoder().readTimestamp(stream, state, 0l));
+                case 10 -> 
properties.setGroupId(state.getDecoder().readString(stream, state));
+                case 11 -> 
properties.setGroupSequence(state.getDecoder().readUnsignedInteger(stream, 
state, 0l));
+                case 12 -> 
properties.setReplyToGroupId(state.getDecoder().readString(stream, state));
             }
         }
 
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/ReceivedTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/ReceivedTypeDecoder.java
index e2f277ff..6983ff17 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/ReceivedTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/ReceivedTypeDecoder.java
@@ -85,12 +85,8 @@ public final class ReceivedTypeDecoder extends 
AbstractDescribedListTypeDecoder<
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    
received.setSectionNumber(state.getDecoder().readUnsignedInteger(buffer, 
state));
-                    break;
-                case 1:
-                    
received.setSectionOffset(state.getDecoder().readUnsignedLong(buffer, state));
-                    break;
+                case 0 -> 
received.setSectionNumber(state.getDecoder().readUnsignedInteger(buffer, 
state));
+                case 1 -> 
received.setSectionOffset(state.getDecoder().readUnsignedLong(buffer, state));
             }
         }
 
@@ -130,12 +126,8 @@ public final class ReceivedTypeDecoder extends 
AbstractDescribedListTypeDecoder<
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    
received.setSectionNumber(state.getDecoder().readUnsignedInteger(stream, 
state));
-                    break;
-                case 1:
-                    
received.setSectionOffset(state.getDecoder().readUnsignedLong(stream, state));
-                    break;
+                case 0 -> 
received.setSectionNumber(state.getDecoder().readUnsignedInteger(stream, 
state));
+                case 1 -> 
received.setSectionOffset(state.getDecoder().readUnsignedLong(stream, state));
             }
         }
 
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/RejectedTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/RejectedTypeDecoder.java
index 56908ec3..1ba976e9 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/RejectedTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/RejectedTypeDecoder.java
@@ -93,9 +93,7 @@ public final class RejectedTypeDecoder extends 
AbstractDescribedListTypeDecoder<
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    rejected.setError(state.getDecoder().readObject(buffer, 
state, ErrorCondition.class));
-                    break;
+                case 0 -> 
rejected.setError(state.getDecoder().readObject(buffer, state, 
ErrorCondition.class));
             }
         }
 
@@ -139,9 +137,7 @@ public final class RejectedTypeDecoder extends 
AbstractDescribedListTypeDecoder<
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    rejected.setError(state.getDecoder().readObject(stream, 
state, ErrorCondition.class));
-                    break;
+                case 0 -> 
rejected.setError(state.getDecoder().readObject(stream, state, 
ErrorCondition.class));
             }
         }
 
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/SourceTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/SourceTypeDecoder.java
index c3dd55c7..9eece464 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/SourceTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/SourceTypeDecoder.java
@@ -93,42 +93,20 @@ public final class SourceTypeDecoder extends 
AbstractDescribedListTypeDecoder<So
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    source.setAddress(state.getDecoder().readString(buffer, 
state));
-                    break;
-                case 1:
-                    final long durability = 
state.getDecoder().readUnsignedInteger(buffer, state, 0);
-                    source.setDurable(TerminusDurability.valueOf(durability));
-                    break;
-                case 2:
+                case 0 -> 
source.setAddress(state.getDecoder().readString(buffer, state));
+                case 1 -> 
source.setDurable(TerminusDurability.valueOf(state.getDecoder().readUnsignedInteger(buffer,
 state, 0)));
+                case 2 -> {
                     final Symbol expiryPolicy = 
state.getDecoder().readSymbol(buffer, state);
                     source.setExpiryPolicy(expiryPolicy == null ? 
TerminusExpiryPolicy.SESSION_END : TerminusExpiryPolicy.valueOf(expiryPolicy));
-                    break;
-                case 3:
-                    final UnsignedInteger timeout = 
state.getDecoder().readUnsignedInteger(buffer, state);
-                    source.setTimeout(timeout == null ? UnsignedInteger.ZERO : 
timeout);
-                    break;
-                case 4:
-                    source.setDynamic(state.getDecoder().readBoolean(buffer, 
state, false));
-                    break;
-                case 5:
-                    
source.setDynamicNodeProperties(state.getDecoder().readMap(buffer, state));
-                    break;
-                case 6:
-                    
source.setDistributionMode(state.getDecoder().readSymbol(buffer, state));
-                    break;
-                case 7:
-                    source.setFilter(state.getDecoder().readMap(buffer, 
state));
-                    break;
-                case 8:
-                    
source.setDefaultOutcome(state.getDecoder().readObject(buffer, state, 
Outcome.class));
-                    break;
-                case 9:
-                    source.setOutcomes(state.getDecoder().readMultiple(buffer, 
state, Symbol.class));
-                    break;
-                case 10:
-                    
source.setCapabilities(state.getDecoder().readMultiple(buffer, state, 
Symbol.class));
-                    break;
+                }
+                case 3 -> 
source.setTimeout(state.getDecoder().readUnsignedInteger(buffer, state, 
UnsignedInteger.ZERO));
+                case 4 -> 
source.setDynamic(state.getDecoder().readBoolean(buffer, state, false));
+                case 5 -> 
source.setDynamicNodeProperties(state.getDecoder().readMap(buffer, state));
+                case 6 -> 
source.setDistributionMode(state.getDecoder().readSymbol(buffer, state));
+                case 7 -> source.setFilter(state.getDecoder().readMap(buffer, 
state));
+                case 8 -> 
source.setDefaultOutcome(state.getDecoder().readObject(buffer, state, 
Outcome.class));
+                case 9 -> 
source.setOutcomes(state.getDecoder().readMultiple(buffer, state, 
Symbol.class));
+                case 10 -> 
source.setCapabilities(state.getDecoder().readMultiple(buffer, state, 
Symbol.class));
             }
         }
 
@@ -171,42 +149,20 @@ public final class SourceTypeDecoder extends 
AbstractDescribedListTypeDecoder<So
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    source.setAddress(state.getDecoder().readString(stream, 
state));
-                    break;
-                case 1:
-                    final long durability = 
state.getDecoder().readUnsignedInteger(stream, state, 0);
-                    source.setDurable(TerminusDurability.valueOf(durability));
-                    break;
-                case 2:
+                case 0 -> 
source.setAddress(state.getDecoder().readString(stream, state));
+                case 1 -> 
source.setDurable(TerminusDurability.valueOf(state.getDecoder().readUnsignedInteger(stream,
 state, 0)));
+                case 2 -> {
                     final Symbol expiryPolicy = 
state.getDecoder().readSymbol(stream, state);
                     source.setExpiryPolicy(expiryPolicy == null ? 
TerminusExpiryPolicy.SESSION_END : TerminusExpiryPolicy.valueOf(expiryPolicy));
-                    break;
-                case 3:
-                    final UnsignedInteger timeout = 
state.getDecoder().readUnsignedInteger(stream, state);
-                    source.setTimeout(timeout == null ? UnsignedInteger.ZERO : 
timeout);
-                    break;
-                case 4:
-                    source.setDynamic(state.getDecoder().readBoolean(stream, 
state, false));
-                    break;
-                case 5:
-                    
source.setDynamicNodeProperties(state.getDecoder().readMap(stream, state));
-                    break;
-                case 6:
-                    
source.setDistributionMode(state.getDecoder().readSymbol(stream, state));
-                    break;
-                case 7:
-                    source.setFilter(state.getDecoder().readMap(stream, 
state));
-                    break;
-                case 8:
-                    
source.setDefaultOutcome(state.getDecoder().readObject(stream, state, 
Outcome.class));
-                    break;
-                case 9:
-                    source.setOutcomes(state.getDecoder().readMultiple(stream, 
state, Symbol.class));
-                    break;
-                case 10:
-                    
source.setCapabilities(state.getDecoder().readMultiple(stream, state, 
Symbol.class));
-                    break;
+                }
+                case 3 -> 
source.setTimeout(state.getDecoder().readUnsignedInteger(stream, state, 
UnsignedInteger.ZERO));
+                case 4 -> 
source.setDynamic(state.getDecoder().readBoolean(stream, state, false));
+                case 5 -> 
source.setDynamicNodeProperties(state.getDecoder().readMap(stream, state));
+                case 6 -> 
source.setDistributionMode(state.getDecoder().readSymbol(stream, state));
+                case 7 -> source.setFilter(state.getDecoder().readMap(stream, 
state));
+                case 8 -> 
source.setDefaultOutcome(state.getDecoder().readObject(stream, state, 
Outcome.class));
+                case 9 -> 
source.setOutcomes(state.getDecoder().readMultiple(stream, state, 
Symbol.class));
+                case 10 -> 
source.setCapabilities(state.getDecoder().readMultiple(stream, state, 
Symbol.class));
             }
         }
 
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/TargetTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/TargetTypeDecoder.java
index fabd61ce..e3f5bb81 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/TargetTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/messaging/TargetTypeDecoder.java
@@ -92,30 +92,16 @@ public final class TargetTypeDecoder extends 
AbstractDescribedListTypeDecoder<Ta
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    target.setAddress(state.getDecoder().readString(buffer, 
state));
-                    break;
-                case 1:
-                    final long durability = 
state.getDecoder().readUnsignedInteger(buffer, state, 0);
-                    target.setDurable(TerminusDurability.valueOf(durability));
-                    break;
-                case 2:
+                case 0 -> 
target.setAddress(state.getDecoder().readString(buffer, state));
+                case 1 -> 
target.setDurable(TerminusDurability.valueOf(state.getDecoder().readUnsignedInteger(buffer,
 state, 0)));
+                case 2 -> {
                     final Symbol expiryPolicy = 
state.getDecoder().readSymbol(buffer, state);
                     target.setExpiryPolicy(expiryPolicy == null ? 
TerminusExpiryPolicy.SESSION_END : TerminusExpiryPolicy.valueOf(expiryPolicy));
-                    break;
-                case 3:
-                    final UnsignedInteger timeout = 
state.getDecoder().readUnsignedInteger(buffer, state);
-                    target.setTimeout(timeout == null ? UnsignedInteger.ZERO : 
timeout);
-                    break;
-                case 4:
-                    target.setDynamic(state.getDecoder().readBoolean(buffer, 
state, false));
-                    break;
-                case 5:
-                    
target.setDynamicNodeProperties(state.getDecoder().readMap(buffer, state));
-                    break;
-                case 6:
-                    
target.setCapabilities(state.getDecoder().readMultiple(buffer, state, 
Symbol.class));
-                    break;
+                }
+                case 3 -> 
target.setTimeout(state.getDecoder().readUnsignedInteger(buffer, state, 
UnsignedInteger.ZERO));
+                case 4 -> 
target.setDynamic(state.getDecoder().readBoolean(buffer, state, false));
+                case 5 -> 
target.setDynamicNodeProperties(state.getDecoder().readMap(buffer, state));
+                case 6 -> 
target.setCapabilities(state.getDecoder().readMultiple(buffer, state, 
Symbol.class));
             }
         }
 
@@ -158,30 +144,16 @@ public final class TargetTypeDecoder extends 
AbstractDescribedListTypeDecoder<Ta
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    target.setAddress(state.getDecoder().readString(stream, 
state));
-                    break;
-                case 1:
-                    final long durability = 
state.getDecoder().readUnsignedInteger(stream, state, 0);
-                    target.setDurable(TerminusDurability.valueOf(durability));
-                    break;
-                case 2:
+                case 0 -> 
target.setAddress(state.getDecoder().readString(stream, state));
+                case 1 -> 
target.setDurable(TerminusDurability.valueOf(state.getDecoder().readUnsignedInteger(stream,
 state, 0)));
+                case 2 -> {
                     final Symbol expiryPolicy = 
state.getDecoder().readSymbol(stream, state);
                     target.setExpiryPolicy(expiryPolicy == null ? 
TerminusExpiryPolicy.SESSION_END : TerminusExpiryPolicy.valueOf(expiryPolicy));
-                    break;
-                case 3:
-                    final UnsignedInteger timeout = 
state.getDecoder().readUnsignedInteger(stream, state);
-                    target.setTimeout(timeout == null ? UnsignedInteger.ZERO : 
timeout);
-                    break;
-                case 4:
-                    target.setDynamic(state.getDecoder().readBoolean(stream, 
state, false));
-                    break;
-                case 5:
-                    
target.setDynamicNodeProperties(state.getDecoder().readMap(stream, state));
-                    break;
-                case 6:
-                    
target.setCapabilities(state.getDecoder().readMultiple(stream, state, 
Symbol.class));
-                    break;
+                }
+                case 3 -> 
target.setTimeout(state.getDecoder().readUnsignedInteger(stream, state, 
UnsignedInteger.ZERO));
+                case 4 -> 
target.setDynamic(state.getDecoder().readBoolean(stream, state, false));
+                case 5 -> 
target.setDynamicNodeProperties(state.getDecoder().readMap(stream, state));
+                case 6 -> 
target.setCapabilities(state.getDecoder().readMultiple(stream, state, 
Symbol.class));
             }
         }
 
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/ByteTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/ByteTypeDecoder.java
index 0ebd56b8..2218e86b 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/ByteTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/ByteTypeDecoder.java
@@ -107,5 +107,4 @@ public final class ByteTypeDecoder extends 
AbstractPrimitiveTypeDecoder<Byte> {
     public int readSize(InputStream stream, StreamDecoderState state) {
         return Byte.BYTES;
     }
-
 }
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/Decimal128TypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/Decimal128TypeDecoder.java
index 9b72b0d3..05e35023 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/Decimal128TypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/Decimal128TypeDecoder.java
@@ -77,5 +77,4 @@ public final class Decimal128TypeDecoder extends 
AbstractPrimitiveTypeDecoder<De
     public int readSize(InputStream stream, StreamDecoderState state) {
         return Decimal128.BYTES;
     }
-
 }
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/Decimal32TypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/Decimal32TypeDecoder.java
index c46f1f74..d94d78e6 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/Decimal32TypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/Decimal32TypeDecoder.java
@@ -71,5 +71,4 @@ public final class Decimal32TypeDecoder extends 
AbstractPrimitiveTypeDecoder<Dec
     public int readSize(InputStream stream, StreamDecoderState state) {
         return Decimal32.BYTES;
     }
-
 }
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/DoubleTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/DoubleTypeDecoder.java
index 2238386b..fbb7dff4 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/DoubleTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/DoubleTypeDecoder.java
@@ -107,5 +107,4 @@ public final class DoubleTypeDecoder extends 
AbstractPrimitiveTypeDecoder<Double
     public int readSize(InputStream stream, StreamDecoderState state) {
         return Double.BYTES;
     }
-
 }
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/Integer32TypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/Integer32TypeDecoder.java
index 4ecc4e5a..44c2af07 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/Integer32TypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/Integer32TypeDecoder.java
@@ -107,5 +107,4 @@ public final class Integer32TypeDecoder extends 
AbstractPrimitiveTypeDecoder<Int
     public int readSize(InputStream stream, StreamDecoderState state) {
         return Integer.BYTES;
     }
-
 }
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/security/SaslInitTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/security/SaslInitTypeDecoder.java
index 3b93710d..b21c6b78 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/security/SaslInitTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/security/SaslInitTypeDecoder.java
@@ -90,15 +90,9 @@ public final class SaslInitTypeDecoder extends 
AbstractDescribedListTypeDecoder<
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    init.setMechanism(state.getDecoder().readSymbol(buffer, 
state));
-                    break;
-                case 1:
-                    
init.setInitialResponse(state.getDecoder().readBinaryAsBuffer(buffer, state));
-                    break;
-                case 2:
-                    init.setHostname(state.getDecoder().readString(buffer, 
state));
-                    break;
+                case 0 -> 
init.setMechanism(state.getDecoder().readSymbol(buffer, state));
+                case 1 -> 
init.setInitialResponse(state.getDecoder().readBinaryAsBuffer(buffer, state));
+                case 2 -> 
init.setHostname(state.getDecoder().readString(buffer, state));
             }
         }
 
@@ -142,15 +136,9 @@ public final class SaslInitTypeDecoder extends 
AbstractDescribedListTypeDecoder<
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    init.setMechanism(state.getDecoder().readSymbol(stream, 
state));
-                    break;
-                case 1:
-                    
init.setInitialResponse(state.getDecoder().readBinaryAsBuffer(stream, state));
-                    break;
-                case 2:
-                    init.setHostname(state.getDecoder().readString(stream, 
state));
-                    break;
+                case 0 -> 
init.setMechanism(state.getDecoder().readSymbol(stream, state));
+                case 1 -> 
init.setInitialResponse(state.getDecoder().readBinaryAsBuffer(stream, state));
+                case 2 -> 
init.setHostname(state.getDecoder().readString(stream, state));
             }
         }
 
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/security/SaslOutcomeTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/security/SaslOutcomeTypeDecoder.java
index 388deb95..af3f82cd 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/security/SaslOutcomeTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/security/SaslOutcomeTypeDecoder.java
@@ -91,12 +91,8 @@ public final class SaslOutcomeTypeDecoder extends 
AbstractDescribedListTypeDecod
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    
outcome.setCode(SaslCode.valueOf(state.getDecoder().readUnsignedByte(buffer, 
state)));
-                    break;
-                case 1:
-                    
outcome.setAdditionalData(state.getDecoder().readBinaryAsBuffer(buffer, state));
-                    break;
+                case 0 -> 
outcome.setCode(SaslCode.valueOf(state.getDecoder().readUnsignedByte(buffer, 
state)));
+                case 1 -> 
outcome.setAdditionalData(state.getDecoder().readBinaryAsBuffer(buffer, state));
             }
         }
 
@@ -140,12 +136,8 @@ public final class SaslOutcomeTypeDecoder extends 
AbstractDescribedListTypeDecod
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    
outcome.setCode(SaslCode.valueOf(state.getDecoder().readUnsignedByte(stream, 
state)));
-                    break;
-                case 1:
-                    
outcome.setAdditionalData(state.getDecoder().readBinaryAsBuffer(stream, state));
-                    break;
+                case 0 -> 
outcome.setCode(SaslCode.valueOf(state.getDecoder().readUnsignedByte(stream, 
state)));
+                case 1 -> 
outcome.setAdditionalData(state.getDecoder().readBinaryAsBuffer(stream, state));
             }
         }
 
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transactions/DischargeTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transactions/DischargeTypeDecoder.java
index f48c5a51..749dcf10 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transactions/DischargeTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transactions/DischargeTypeDecoder.java
@@ -90,12 +90,8 @@ public final class DischargeTypeDecoder extends 
AbstractDescribedListTypeDecoder
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    discharge.setTxnId(state.getDecoder().readBinary(buffer, 
state));
-                    break;
-                case 1:
-                    discharge.setFail(state.getDecoder().readBoolean(buffer, 
state, false));
-                    break;
+                case 0 -> 
discharge.setTxnId(state.getDecoder().readBinary(buffer, state));
+                case 1 -> 
discharge.setFail(state.getDecoder().readBoolean(buffer, state, false));
             }
         }
 
@@ -139,12 +135,8 @@ public final class DischargeTypeDecoder extends 
AbstractDescribedListTypeDecoder
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    discharge.setTxnId(state.getDecoder().readBinary(stream, 
state));
-                    break;
-                case 1:
-                    discharge.setFail(state.getDecoder().readBoolean(stream, 
state, false));
-                    break;
+                case 0 -> 
discharge.setTxnId(state.getDecoder().readBinary(stream, state));
+                case 1 -> 
discharge.setFail(state.getDecoder().readBoolean(stream, state, false));
             }
         }
 
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transactions/TransactionStateTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transactions/TransactionStateTypeDecoder.java
index d53874e2..6ee7bf35 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transactions/TransactionStateTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transactions/TransactionStateTypeDecoder.java
@@ -91,12 +91,8 @@ public final class TransactionStateTypeDecoder extends 
AbstractDescribedListType
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    
transactionalState.setTxnId(state.getDecoder().readBinary(buffer, state));
-                    break;
-                case 1:
-                    transactionalState.setOutcome((Outcome) 
state.getDecoder().readObject(buffer, state));
-                    break;
+                case 0 -> 
transactionalState.setTxnId(state.getDecoder().readBinary(buffer, state));
+                case 1 -> transactionalState.setOutcome((Outcome) 
state.getDecoder().readObject(buffer, state));
             }
         }
 
@@ -140,12 +136,8 @@ public final class TransactionStateTypeDecoder extends 
AbstractDescribedListType
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    
transactionalState.setTxnId(state.getDecoder().readBinary(stream, state));
-                    break;
-                case 1:
-                    transactionalState.setOutcome((Outcome) 
state.getDecoder().readObject(stream, state));
-                    break;
+                case 0 -> 
transactionalState.setTxnId(state.getDecoder().readBinary(stream, state));
+                case 1 -> transactionalState.setOutcome((Outcome) 
state.getDecoder().readObject(stream, state));
             }
         }
 
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/AttachTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/AttachTypeDecoder.java
index c1ce9d30..f466fb73 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/AttachTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/AttachTypeDecoder.java
@@ -111,48 +111,20 @@ public final class AttachTypeDecoder extends 
AbstractDescribedListTypeDecoder<At
             }
 
             switch (index) {
-                case 0:
-                    attach.setName(decoder.readString(buffer, state));
-                    break;
-                case 1:
-                    attach.setHandle(decoder.readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 2:
-                    attach.setRole(decoder.readBoolean(buffer, state, false) ? 
Role.RECEIVER : Role.SENDER);
-                    break;
-                case 3:
-                    
attach.setSenderSettleMode(SenderSettleMode.valueOf(decoder.readUnsignedByte(buffer,
 state, (byte) 2)));
-                    break;
-                case 4:
-                    
attach.setReceiverSettleMode(ReceiverSettleMode.valueOf(decoder.readUnsignedByte(buffer,
 state, (byte) 0)));
-                    break;
-                case 5:
-                    attach.setSource(decoder.readObject(buffer, state, 
Source.class));
-                    break;
-                case 6:
-                    attach.setTarget(decoder.readObject(buffer, state, 
Terminus.class));
-                    break;
-                case 7:
-                    attach.setUnsettled(decoder.readMap(buffer, state));
-                    break;
-                case 8:
-                    attach.setIncompleteUnsettled(decoder.readBoolean(buffer, 
state, true));
-                    break;
-                case 9:
-                    
attach.setInitialDeliveryCount(decoder.readUnsignedInteger(buffer, state, 0l));
-                    break;
-                case 10:
-                    attach.setMaxMessageSize(decoder.readUnsignedLong(buffer, 
state));
-                    break;
-                case 11:
-                    attach.setOfferedCapabilities(decoder.readMultiple(buffer, 
state, Symbol.class));
-                    break;
-                case 12:
-                    attach.setDesiredCapabilities(decoder.readMultiple(buffer, 
state, Symbol.class));
-                    break;
-                case 13:
-                    attach.setProperties(decoder.readMap(buffer, state));
-                    break;
+                case 0  -> attach.setName(decoder.readString(buffer, state));
+                case 1  -> 
attach.setHandle(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 2  -> attach.setRole(decoder.readBoolean(buffer, state, 
false) ? Role.RECEIVER : Role.SENDER);
+                case 3  -> 
attach.setSenderSettleMode(SenderSettleMode.valueOf(decoder.readUnsignedByte(buffer,
 state, (byte) 2)));
+                case 4  -> 
attach.setReceiverSettleMode(ReceiverSettleMode.valueOf(decoder.readUnsignedByte(buffer,
 state, (byte) 0)));
+                case 5  -> attach.setSource(decoder.readObject(buffer, state, 
Source.class));
+                case 6  -> attach.setTarget(decoder.readObject(buffer, state, 
Terminus.class));
+                case 7  -> attach.setUnsettled(decoder.readMap(buffer, state));
+                case 8  -> 
attach.setIncompleteUnsettled(decoder.readBoolean(buffer, state, true));
+                case 9  -> 
attach.setInitialDeliveryCount(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 10 -> 
attach.setMaxMessageSize(decoder.readUnsignedLong(buffer, state));
+                case 11 -> 
attach.setOfferedCapabilities(decoder.readMultiple(buffer, state, 
Symbol.class));
+                case 12 -> 
attach.setDesiredCapabilities(decoder.readMultiple(buffer, state, 
Symbol.class));
+                case 13 -> attach.setProperties(decoder.readMap(buffer, 
state));
             }
         }
 
@@ -213,48 +185,20 @@ public final class AttachTypeDecoder extends 
AbstractDescribedListTypeDecoder<At
             }
 
             switch (index) {
-                case 0:
-                    attach.setName(decoder.readString(stream, state));
-                    break;
-                case 1:
-                    attach.setHandle(decoder.readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 2:
-                    attach.setRole(decoder.readBoolean(stream, state, false) ? 
Role.RECEIVER : Role.SENDER);
-                    break;
-                case 3:
-                    
attach.setSenderSettleMode(SenderSettleMode.valueOf(decoder.readUnsignedByte(stream,
 state, (byte) 2)));
-                    break;
-                case 4:
-                    
attach.setReceiverSettleMode(ReceiverSettleMode.valueOf(decoder.readUnsignedByte(stream,
 state, (byte) 0)));
-                    break;
-                case 5:
-                    attach.setSource(decoder.readObject(stream, state, 
Source.class));
-                    break;
-                case 6:
-                    attach.setTarget(decoder.readObject(stream, state, 
Terminus.class));
-                    break;
-                case 7:
-                    attach.setUnsettled(decoder.readMap(stream, state));
-                    break;
-                case 8:
-                    attach.setIncompleteUnsettled(decoder.readBoolean(stream, 
state, true));
-                    break;
-                case 9:
-                    
attach.setInitialDeliveryCount(decoder.readUnsignedInteger(stream, state, 0l));
-                    break;
-                case 10:
-                    attach.setMaxMessageSize(decoder.readUnsignedLong(stream, 
state));
-                    break;
-                case 11:
-                    attach.setOfferedCapabilities(decoder.readMultiple(stream, 
state, Symbol.class));
-                    break;
-                case 12:
-                    attach.setDesiredCapabilities(decoder.readMultiple(stream, 
state, Symbol.class));
-                    break;
-                case 13:
-                    attach.setProperties(decoder.readMap(stream, state));
-                    break;
+                case 0  -> attach.setName(decoder.readString(stream, state));
+                case 1  -> 
attach.setHandle(decoder.readUnsignedInteger(stream, state, 0l));
+                case 2  -> attach.setRole(decoder.readBoolean(stream, state, 
false) ? Role.RECEIVER : Role.SENDER);
+                case 3  -> 
attach.setSenderSettleMode(SenderSettleMode.valueOf(decoder.readUnsignedByte(stream,
 state, (byte) 2)));
+                case 4  -> 
attach.setReceiverSettleMode(ReceiverSettleMode.valueOf(decoder.readUnsignedByte(stream,
 state, (byte) 0)));
+                case 5  -> attach.setSource(decoder.readObject(stream, state, 
Source.class));
+                case 6  -> attach.setTarget(decoder.readObject(stream, state, 
Terminus.class));
+                case 7  -> attach.setUnsettled(decoder.readMap(stream, state));
+                case 8  -> 
attach.setIncompleteUnsettled(decoder.readBoolean(stream, state, true));
+                case 9  -> 
attach.setInitialDeliveryCount(decoder.readUnsignedInteger(stream, state, 0l));
+                case 10 -> 
attach.setMaxMessageSize(decoder.readUnsignedLong(stream, state));
+                case 11 -> 
attach.setOfferedCapabilities(decoder.readMultiple(stream, state, 
Symbol.class));
+                case 12 -> 
attach.setDesiredCapabilities(decoder.readMultiple(stream, state, 
Symbol.class));
+                case 13 -> attach.setProperties(decoder.readMap(stream, 
state));
             }
         }
 
@@ -262,13 +206,10 @@ public final class AttachTypeDecoder extends 
AbstractDescribedListTypeDecoder<At
     }
 
     private String errorForMissingRequiredFields(int present) {
-        switch (present) {
-            case 2:
-                return "The role field cannot be omitted from the Attach";
-            case 1:
-                return "The handle field cannot be omitted from the Attach";
-            default:
-                return "The name field cannot be omitted from the Attach";
-        }
+        return switch (present) {
+            case 2  -> "The role field cannot be omitted from the Attach";
+            case 1  -> "The handle field cannot be omitted from the Attach";
+            default -> "The name field cannot be omitted from the Attach";
+        };
     }
 }
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/BeginTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/BeginTypeDecoder.java
index 80a37251..255474b3 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/BeginTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/BeginTypeDecoder.java
@@ -106,30 +106,14 @@ public final class BeginTypeDecoder extends 
AbstractDescribedListTypeDecoder<Beg
             }
 
             switch (index) {
-                case 0:
-                    begin.setRemoteChannel(decoder.readUnsignedShort(buffer, 
state, 0));
-                    break;
-                case 1:
-                    
begin.setNextOutgoingId(decoder.readUnsignedInteger(buffer, state, 0l));
-                    break;
-                case 2:
-                    
begin.setIncomingWindow(decoder.readUnsignedInteger(buffer, state, 0l));
-                    break;
-                case 3:
-                    
begin.setOutgoingWindow(decoder.readUnsignedInteger(buffer, state, 0l));
-                    break;
-                case 4:
-                    begin.setHandleMax(decoder.readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 5:
-                    begin.setOfferedCapabilities(decoder.readMultiple(buffer, 
state, Symbol.class));
-                    break;
-                case 6:
-                    begin.setDesiredCapabilities(decoder.readMultiple(buffer, 
state, Symbol.class));
-                    break;
-                case 7:
-                    begin.setProperties(decoder.readMap(buffer, state));
-                    break;
+                case 0 -> 
begin.setRemoteChannel(decoder.readUnsignedShort(buffer, state, 0));
+                case 1 -> 
begin.setNextOutgoingId(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 2 -> 
begin.setIncomingWindow(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 3 -> 
begin.setOutgoingWindow(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 4 -> 
begin.setHandleMax(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 5 -> 
begin.setOfferedCapabilities(decoder.readMultiple(buffer, state, Symbol.class));
+                case 6 -> 
begin.setDesiredCapabilities(decoder.readMultiple(buffer, state, Symbol.class));
+                case 7 -> begin.setProperties(decoder.readMap(buffer, state));
             }
         }
 
@@ -190,30 +174,14 @@ public final class BeginTypeDecoder extends 
AbstractDescribedListTypeDecoder<Beg
             }
 
             switch (index) {
-                case 0:
-                    begin.setRemoteChannel(decoder.readUnsignedShort(stream, 
state, 0));
-                    break;
-                case 1:
-                    
begin.setNextOutgoingId(decoder.readUnsignedInteger(stream, state, 0l));
-                    break;
-                case 2:
-                    
begin.setIncomingWindow(decoder.readUnsignedInteger(stream, state, 0l));
-                    break;
-                case 3:
-                    
begin.setOutgoingWindow(decoder.readUnsignedInteger(stream, state, 0l));
-                    break;
-                case 4:
-                    begin.setHandleMax(decoder.readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 5:
-                    begin.setOfferedCapabilities(decoder.readMultiple(stream, 
state, Symbol.class));
-                    break;
-                case 6:
-                    begin.setDesiredCapabilities(decoder.readMultiple(stream, 
state, Symbol.class));
-                    break;
-                case 7:
-                    begin.setProperties(decoder.readMap(stream, state));
-                    break;
+                case 0 -> 
begin.setRemoteChannel(decoder.readUnsignedShort(stream, state, 0));
+                case 1 -> 
begin.setNextOutgoingId(decoder.readUnsignedInteger(stream, state, 0l));
+                case 2 -> 
begin.setIncomingWindow(decoder.readUnsignedInteger(stream, state, 0l));
+                case 3 -> 
begin.setOutgoingWindow(decoder.readUnsignedInteger(stream, state, 0l));
+                case 4 -> 
begin.setHandleMax(decoder.readUnsignedInteger(stream, state, 0l));
+                case 5 -> 
begin.setOfferedCapabilities(decoder.readMultiple(stream, state, Symbol.class));
+                case 6 -> 
begin.setDesiredCapabilities(decoder.readMultiple(stream, state, Symbol.class));
+                case 7 -> begin.setProperties(decoder.readMap(stream, state));
             }
         }
 
@@ -221,13 +189,10 @@ public final class BeginTypeDecoder extends 
AbstractDescribedListTypeDecoder<Beg
     }
 
     private String errorForMissingRequiredFields(int present) {
-        switch (present) {
-            case 3:
-                return "The outgoing-window field cannot be omitted from the 
Begin";
-            case 2:
-                return "The incoming-window field cannot be omitted from the 
Begin";
-            default:
-                return "The next-outgoing-id field cannot be omitted from the 
Begin";
-        }
+        return switch (present) {
+            case 3  -> "The outgoing-window field cannot be omitted from the 
Begin";
+            case 2  -> "The incoming-window field cannot be omitted from the 
Begin";
+            default -> "The next-outgoing-id field cannot be omitted from the 
Begin";
+        };
     }
 }
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/DetachTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/DetachTypeDecoder.java
index 4811c78d..33e7eabb 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/DetachTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/DetachTypeDecoder.java
@@ -105,15 +105,9 @@ public final class DetachTypeDecoder extends 
AbstractDescribedListTypeDecoder<De
             }
 
             switch (index) {
-                case 0:
-                    detach.setHandle(decoder.readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 1:
-                    detach.setClosed(decoder.readBoolean(buffer, state, 
false));
-                    break;
-                case 2:
-                    detach.setError(decoder.readObject(buffer, state, 
ErrorCondition.class));
-                    break;
+                case 0 -> detach.setHandle(decoder.readUnsignedInteger(buffer, 
state, 0l));
+                case 1 -> detach.setClosed(decoder.readBoolean(buffer, state, 
false));
+                case 2 -> detach.setError(decoder.readObject(buffer, state, 
ErrorCondition.class));
             }
         }
 
@@ -173,15 +167,9 @@ public final class DetachTypeDecoder extends 
AbstractDescribedListTypeDecoder<De
             }
 
             switch (index) {
-                case 0:
-                    detach.setHandle(decoder.readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 1:
-                    detach.setClosed(decoder.readBoolean(stream, state, 
false));
-                    break;
-                case 2:
-                    detach.setError(decoder.readObject(stream, state, 
ErrorCondition.class));
-                    break;
+                case 0 -> detach.setHandle(decoder.readUnsignedInteger(stream, 
state, 0l));
+                case 1 -> detach.setClosed(decoder.readBoolean(stream, state, 
false));
+                case 2 -> detach.setError(decoder.readObject(stream, state, 
ErrorCondition.class));
             }
         }
 
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/DispositionTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/DispositionTypeDecoder.java
index 5350a3f0..99a1c94e 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/DispositionTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/DispositionTypeDecoder.java
@@ -108,24 +108,12 @@ public final class DispositionTypeDecoder extends 
AbstractDescribedListTypeDecod
             }
 
             switch (index) {
-                case 0:
-                    disposition.setRole(decoder.readBoolean(buffer, state, 
false) ? Role.RECEIVER : Role.SENDER);
-                    break;
-                case 1:
-                    disposition.setFirst(decoder.readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 2:
-                    disposition.setLast(decoder.readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 3:
-                    disposition.setSettled(decoder.readBoolean(buffer, state, 
false));
-                    break;
-                case 4:
-                    disposition.setState(decoder.readObject(buffer, state, 
DeliveryState.class));
-                    break;
-                case 5:
-                    disposition.setBatchable(decoder.readBoolean(buffer, 
state, false));
-                    break;
+                case 0 -> disposition.setRole(decoder.readBoolean(buffer, 
state, false) ? Role.RECEIVER : Role.SENDER);
+                case 1 -> 
disposition.setFirst(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 2 -> 
disposition.setLast(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 3 -> disposition.setSettled(decoder.readBoolean(buffer, 
state, false));
+                case 4 -> disposition.setState(decoder.readObject(buffer, 
state, DeliveryState.class));
+                case 5 -> disposition.setBatchable(decoder.readBoolean(buffer, 
state, false));
             }
         }
 
@@ -195,24 +183,12 @@ public final class DispositionTypeDecoder extends 
AbstractDescribedListTypeDecod
             }
 
             switch (index) {
-                case 0:
-                    disposition.setRole(decoder.readBoolean(stream, state, 
false) ? Role.RECEIVER : Role.SENDER);
-                    break;
-                case 1:
-                    disposition.setFirst(decoder.readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 2:
-                    disposition.setLast(decoder.readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 3:
-                    disposition.setSettled(decoder.readBoolean(stream, state, 
false));
-                    break;
-                case 4:
-                    disposition.setState(decoder.readObject(stream, state, 
DeliveryState.class));
-                    break;
-                case 5:
-                    disposition.setBatchable(decoder.readBoolean(stream, 
state, false));
-                    break;
+                case 0 -> disposition.setRole(decoder.readBoolean(stream, 
state, false) ? Role.RECEIVER : Role.SENDER);
+                case 1 -> 
disposition.setFirst(decoder.readUnsignedInteger(stream, state, 0l));
+                case 2 -> 
disposition.setLast(decoder.readUnsignedInteger(stream, state, 0l));
+                case 3 -> disposition.setSettled(decoder.readBoolean(stream, 
state, false));
+                case 4 -> disposition.setState(decoder.readObject(stream, 
state, DeliveryState.class));
+                case 5 -> disposition.setBatchable(decoder.readBoolean(stream, 
state, false));
             }
         }
 
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/ErrorConditionTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/ErrorConditionTypeDecoder.java
index b8ec663e..dfa4b6b4 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/ErrorConditionTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/ErrorConditionTypeDecoder.java
@@ -94,15 +94,9 @@ public final class ErrorConditionTypeDecoder extends 
AbstractDescribedListTypeDe
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    condition = decoder.readSymbol(buffer, state);
-                    break;
-                case 1:
-                    description = decoder.readString(buffer, state);
-                    break;
-                case 2:
-                    info = decoder.readMap(buffer, state);
-                    break;
+                case 0 -> condition = decoder.readSymbol(buffer, state);
+                case 1 -> description = decoder.readString(buffer, state);
+                case 2 -> info = decoder.readMap(buffer, state);
             }
         }
 
@@ -147,15 +141,9 @@ public final class ErrorConditionTypeDecoder extends 
AbstractDescribedListTypeDe
 
         for (int index = 0; index < count; ++index) {
             switch (index) {
-                case 0:
-                    condition = decoder.readSymbol(stream, state);
-                    break;
-                case 1:
-                    description = decoder.readString(stream, state);
-                    break;
-                case 2:
-                    info = decoder.readMap(stream, state);
-                    break;
+                case 0 -> condition = decoder.readSymbol(stream, state);
+                case 1 -> description = decoder.readString(stream, state);
+                case 2 -> info = decoder.readMap(stream, state);
             }
         }
 
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/FlowTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/FlowTypeDecoder.java
index 595f1b08..b7815025 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/FlowTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/FlowTypeDecoder.java
@@ -107,39 +107,17 @@ public final class FlowTypeDecoder extends 
AbstractDescribedListTypeDecoder<Flow
             }
 
             switch (index) {
-                case 0:
-                    flow.setNextIncomingId(decoder.readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 1:
-                    flow.setIncomingWindow(decoder.readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 2:
-                    flow.setNextOutgoingId(decoder.readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 3:
-                    flow.setOutgoingWindow(decoder.readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 4:
-                    flow.setHandle(decoder.readUnsignedInteger(buffer, state, 
0l));
-                    break;
-                case 5:
-                    flow.setDeliveryCount(decoder.readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 6:
-                    flow.setLinkCredit(decoder.readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 7:
-                    flow.setAvailable(decoder.readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 8:
-                    flow.setDrain(decoder.readBoolean(buffer, state, false));
-                    break;
-                case 9:
-                    flow.setEcho(decoder.readBoolean(buffer, state, false));
-                    break;
-                case 10:
-                    flow.setProperties(decoder.readMap(buffer, state));
-                    break;
+                case 0  -> 
flow.setNextIncomingId(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 1  -> 
flow.setIncomingWindow(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 2  -> 
flow.setNextOutgoingId(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 3  -> 
flow.setOutgoingWindow(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 4  -> flow.setHandle(decoder.readUnsignedInteger(buffer, 
state, 0l));
+                case 5  -> 
flow.setDeliveryCount(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 6  -> 
flow.setLinkCredit(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 7  -> 
flow.setAvailable(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 8  -> flow.setDrain(decoder.readBoolean(buffer, state, 
false));
+                case 9  -> flow.setEcho(decoder.readBoolean(buffer, state, 
false));
+                case 10 -> flow.setProperties(decoder.readMap(buffer, state));
             }
         }
 
@@ -201,39 +179,17 @@ public final class FlowTypeDecoder extends 
AbstractDescribedListTypeDecoder<Flow
             }
 
             switch (index) {
-                case 0:
-                    flow.setNextIncomingId(decoder.readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 1:
-                    flow.setIncomingWindow(decoder.readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 2:
-                    flow.setNextOutgoingId(decoder.readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 3:
-                    flow.setOutgoingWindow(decoder.readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 4:
-                    flow.setHandle(decoder.readUnsignedInteger(stream, state, 
0l));
-                    break;
-                case 5:
-                    flow.setDeliveryCount(decoder.readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 6:
-                    flow.setLinkCredit(decoder.readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 7:
-                    flow.setAvailable(decoder.readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 8:
-                    flow.setDrain(decoder.readBoolean(stream, state, false));
-                    break;
-                case 9:
-                    flow.setEcho(decoder.readBoolean(stream, state, false));
-                    break;
-                case 10:
-                    flow.setProperties(decoder.readMap(stream, state));
-                    break;
+                case 0  -> 
flow.setNextIncomingId(decoder.readUnsignedInteger(stream, state, 0l));
+                case 1  -> 
flow.setIncomingWindow(decoder.readUnsignedInteger(stream, state, 0l));
+                case 2  -> 
flow.setNextOutgoingId(decoder.readUnsignedInteger(stream, state, 0l));
+                case 3  -> 
flow.setOutgoingWindow(decoder.readUnsignedInteger(stream, state, 0l));
+                case 4  -> flow.setHandle(decoder.readUnsignedInteger(stream, 
state, 0l));
+                case 5  -> 
flow.setDeliveryCount(decoder.readUnsignedInteger(stream, state, 0l));
+                case 6  -> 
flow.setLinkCredit(decoder.readUnsignedInteger(stream, state, 0l));
+                case 7  -> 
flow.setAvailable(decoder.readUnsignedInteger(stream, state, 0l));
+                case 8  -> flow.setDrain(decoder.readBoolean(stream, state, 
false));
+                case 9  -> flow.setEcho(decoder.readBoolean(stream, state, 
false));
+                case 10 -> flow.setProperties(decoder.readMap(stream, state));
             }
         }
 
@@ -241,13 +197,10 @@ public final class FlowTypeDecoder extends 
AbstractDescribedListTypeDecoder<Flow
     }
 
     private String errorForMissingRequiredFields(int present) {
-        switch (present) {
-            case 3:
-                return "The outgoing-window field cannot be omitted from the 
Flow";
-            case 2:
-                return "The next-outgoing-id field cannot be omitted from the 
Flow";
-            default:
-                return "The incoming-window field cannot be omitted from the 
Flow";
-        }
+        return switch (present) {
+            case 3  -> "The outgoing-window field cannot be omitted from the 
Flow";
+            case 2  -> "The next-outgoing-id field cannot be omitted from the 
Flow";
+            default -> "The incoming-window field cannot be omitted from the 
Flow";
+        };
     }
 }
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/OpenTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/OpenTypeDecoder.java
index 377efa48..1ec6889f 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/OpenTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/OpenTypeDecoder.java
@@ -105,36 +105,16 @@ public final class OpenTypeDecoder extends 
AbstractDescribedListTypeDecoder<Open
             }
 
             switch (index) {
-                case 0:
-                    open.setContainerId(decoder.readString(buffer, state));
-                    break;
-                case 1:
-                    open.setHostname(decoder.readString(buffer, state));
-                    break;
-                case 2:
-                    open.setMaxFrameSize(decoder.readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 3:
-                    open.setChannelMax(decoder.readUnsignedShort(buffer, 
state, 0));
-                    break;
-                case 4:
-                    open.setIdleTimeout(decoder.readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 5:
-                    open.setOutgoingLocales(decoder.readMultiple(buffer, 
state, Symbol.class));
-                    break;
-                case 6:
-                    open.setIncomingLocales(decoder.readMultiple(buffer, 
state, Symbol.class));
-                    break;
-                case 7:
-                    open.setOfferedCapabilities(decoder.readMultiple(buffer, 
state, Symbol.class));
-                    break;
-                case 8:
-                    open.setDesiredCapabilities(decoder.readMultiple(buffer, 
state, Symbol.class));
-                    break;
-                case 9:
-                    open.setProperties(decoder.readMap(buffer, state));
-                    break;
+                case 0 -> open.setContainerId(decoder.readString(buffer, 
state));
+                case 1 -> open.setHostname(decoder.readString(buffer, state));
+                case 2 -> 
open.setMaxFrameSize(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 3 -> open.setChannelMax(decoder.readUnsignedShort(buffer, 
state, 0));
+                case 4 -> 
open.setIdleTimeout(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 5 -> open.setOutgoingLocales(decoder.readMultiple(buffer, 
state, Symbol.class));
+                case 6 -> open.setIncomingLocales(decoder.readMultiple(buffer, 
state, Symbol.class));
+                case 7 -> 
open.setOfferedCapabilities(decoder.readMultiple(buffer, state, Symbol.class));
+                case 8 -> 
open.setDesiredCapabilities(decoder.readMultiple(buffer, state, Symbol.class));
+                case 9 -> open.setProperties(decoder.readMap(buffer, state));
             }
         }
 
@@ -194,36 +174,16 @@ public final class OpenTypeDecoder extends 
AbstractDescribedListTypeDecoder<Open
             }
 
             switch (index) {
-                case 0:
-                    open.setContainerId(decoder.readString(stream, state));
-                    break;
-                case 1:
-                    open.setHostname(decoder.readString(stream, state));
-                    break;
-                case 2:
-                    open.setMaxFrameSize(decoder.readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 3:
-                    open.setChannelMax(decoder.readUnsignedShort(stream, 
state, 0));
-                    break;
-                case 4:
-                    open.setIdleTimeout(decoder.readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 5:
-                    open.setOutgoingLocales(decoder.readMultiple(stream, 
state, Symbol.class));
-                    break;
-                case 6:
-                    open.setIncomingLocales(decoder.readMultiple(stream, 
state, Symbol.class));
-                    break;
-                case 7:
-                    open.setOfferedCapabilities(decoder.readMultiple(stream, 
state, Symbol.class));
-                    break;
-                case 8:
-                    open.setDesiredCapabilities(decoder.readMultiple(stream, 
state, Symbol.class));
-                    break;
-                case 9:
-                    open.setProperties(decoder.readMap(stream, state));
-                    break;
+                case 0 -> open.setContainerId(decoder.readString(stream, 
state));
+                case 1 -> open.setHostname(decoder.readString(stream, state));
+                case 2 -> 
open.setMaxFrameSize(decoder.readUnsignedInteger(stream, state, 0l));
+                case 3 -> open.setChannelMax(decoder.readUnsignedShort(stream, 
state, 0));
+                case 4 -> 
open.setIdleTimeout(decoder.readUnsignedInteger(stream, state, 0l));
+                case 5 -> open.setOutgoingLocales(decoder.readMultiple(stream, 
state, Symbol.class));
+                case 6 -> open.setIncomingLocales(decoder.readMultiple(stream, 
state, Symbol.class));
+                case 7 -> 
open.setOfferedCapabilities(decoder.readMultiple(stream, state, Symbol.class));
+                case 8 -> 
open.setDesiredCapabilities(decoder.readMultiple(stream, state, Symbol.class));
+                case 9 -> open.setProperties(decoder.readMap(stream, state));
             }
         }
 
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/TransferTypeDecoder.java
 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/TransferTypeDecoder.java
index 1fbe7a81..96de93df 100644
--- 
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/TransferTypeDecoder.java
+++ 
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/TransferTypeDecoder.java
@@ -109,40 +109,20 @@ public final class TransferTypeDecoder extends 
AbstractDescribedListTypeDecoder<
             }
 
             switch (index) {
-                case 0:
-                    transfer.setHandle(decoder.readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 1:
-                    transfer.setDeliveryId(decoder.readUnsignedInteger(buffer, 
state, 0l));
-                    break;
-                case 2:
-                    transfer.setDeliveryTag(decoder.readDeliveryTag(buffer, 
state));
-                    break;
-                case 3:
-                    
transfer.setMessageFormat(decoder.readUnsignedInteger(buffer, state, 0l));
-                    break;
-                case 4:
-                    transfer.setSettled(decoder.readBoolean(buffer, state, 
false));
-                    break;
-                case 5:
-                    transfer.setMore(decoder.readBoolean(buffer, state, 
false));
-                    break;
-                case 6:
+                case 0 -> 
transfer.setHandle(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 1 -> 
transfer.setDeliveryId(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 2 -> 
transfer.setDeliveryTag(decoder.readDeliveryTag(buffer, state));
+                case 3 -> 
transfer.setMessageFormat(decoder.readUnsignedInteger(buffer, state, 0l));
+                case 4 -> transfer.setSettled(decoder.readBoolean(buffer, 
state, false));
+                case 5 -> transfer.setMore(decoder.readBoolean(buffer, state, 
false));
+                case 6 -> {
                     final UnsignedByte rcvSettleMode = 
decoder.readUnsignedByte(buffer, state);
                     transfer.setRcvSettleMode(rcvSettleMode == null ? null : 
ReceiverSettleMode.values()[rcvSettleMode.intValue()]);
-                    break;
-                case 7:
-                    transfer.setState(decoder.readObject(buffer, state, 
DeliveryState.class));
-                    break;
-                case 8:
-                    transfer.setResume(decoder.readBoolean(buffer, state, 
false));
-                    break;
-                case 9:
-                    transfer.setAborted(decoder.readBoolean(buffer, state, 
false));
-                    break;
-                case 10:
-                    transfer.setBatchable(decoder.readBoolean(buffer, state, 
false));
-                    break;
+                }
+                case 7 -> transfer.setState(decoder.readObject(buffer, state, 
DeliveryState.class));
+                case 8 -> transfer.setResume(decoder.readBoolean(buffer, 
state, false));
+                case 9 -> transfer.setAborted(decoder.readBoolean(buffer, 
state, false));
+                case 10 -> transfer.setBatchable(decoder.readBoolean(buffer, 
state, false));
             }
         }
 
@@ -203,40 +183,20 @@ public final class TransferTypeDecoder extends 
AbstractDescribedListTypeDecoder<
             }
 
             switch (index) {
-                case 0:
-                    transfer.setHandle(decoder.readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 1:
-                    transfer.setDeliveryId(decoder.readUnsignedInteger(stream, 
state, 0l));
-                    break;
-                case 2:
-                    transfer.setDeliveryTag(decoder.readDeliveryTag(stream, 
state));
-                    break;
-                case 3:
-                    
transfer.setMessageFormat(decoder.readUnsignedInteger(stream, state, 0l));
-                    break;
-                case 4:
-                    transfer.setSettled(decoder.readBoolean(stream, state, 
false));
-                    break;
-                case 5:
-                    transfer.setMore(decoder.readBoolean(stream, state, 
false));
-                    break;
-                case 6:
+                case 0 -> 
transfer.setHandle(decoder.readUnsignedInteger(stream, state, 0l));
+                case 1 -> 
transfer.setDeliveryId(decoder.readUnsignedInteger(stream, state, 0l));
+                case 2 -> 
transfer.setDeliveryTag(decoder.readDeliveryTag(stream, state));
+                case 3 -> 
transfer.setMessageFormat(decoder.readUnsignedInteger(stream, state, 0l));
+                case 4 -> transfer.setSettled(decoder.readBoolean(stream, 
state, false));
+                case 5 -> transfer.setMore(decoder.readBoolean(stream, state, 
false));
+                case 6 -> {
                     final UnsignedByte rcvSettleMode = 
decoder.readUnsignedByte(stream, state);
                     transfer.setRcvSettleMode(rcvSettleMode == null ? null : 
ReceiverSettleMode.values()[rcvSettleMode.intValue()]);
-                    break;
-                case 7:
-                    transfer.setState(decoder.readObject(stream, state, 
DeliveryState.class));
-                    break;
-                case 8:
-                    transfer.setResume(decoder.readBoolean(stream, state, 
false));
-                    break;
-                case 9:
-                    transfer.setAborted(decoder.readBoolean(stream, state, 
false));
-                    break;
-                case 10:
-                    transfer.setBatchable(decoder.readBoolean(stream, state, 
false));
-                    break;
+                }
+                case 7 -> transfer.setState(decoder.readObject(stream, state, 
DeliveryState.class));
+                case 8 -> transfer.setResume(decoder.readBoolean(stream, 
state, false));
+                case 9 -> transfer.setAborted(decoder.readBoolean(stream, 
state, false));
+                case 10 -> transfer.setBatchable(decoder.readBoolean(stream, 
state, false));
             }
         }
 
diff --git 
a/protonj2/src/test/java/org/apache/qpid/protonj2/codec/decoders/ProtonDecoderTest.java
 
b/protonj2/src/test/java/org/apache/qpid/protonj2/codec/decoders/ProtonDecoderTest.java
index 0fd417ad..5ade59e6 100644
--- 
a/protonj2/src/test/java/org/apache/qpid/protonj2/codec/decoders/ProtonDecoderTest.java
+++ 
b/protonj2/src/test/java/org/apache/qpid/protonj2/codec/decoders/ProtonDecoderTest.java
@@ -36,6 +36,7 @@ import org.apache.qpid.protonj2.codec.DecodeException;
 import org.apache.qpid.protonj2.codec.DecoderState;
 import org.apache.qpid.protonj2.codec.EncodingCodes;
 import org.apache.qpid.protonj2.types.UnknownDescribedType;
+import org.apache.qpid.protonj2.types.UnsignedInteger;
 import org.apache.qpid.protonj2.types.UnsignedLong;
 import org.junit.jupiter.api.Test;
 
@@ -246,6 +247,26 @@ public class ProtonDecoderTest extends CodecTestSupport {
         assertEquals(32, decoder.readUnsignedInteger(buffer, decoderState, 
32));
     }
 
+    @Test
+    public void testReadUnsignedIntegerTypesAsObject() throws IOException {
+        ProtonBuffer buffer = 
ProtonBufferAllocator.defaultAllocator().allocate();
+
+        buffer.writeByte(EncodingCodes.UINT0);
+        buffer.writeByte(EncodingCodes.SMALLUINT);
+        buffer.writeByte((byte) 127);
+        buffer.writeByte(EncodingCodes.UINT);
+        buffer.writeByte((byte) 0);
+        buffer.writeByte((byte) 0);
+        buffer.writeByte((byte) 0);
+        buffer.writeByte((byte) 255);
+        buffer.writeByte(EncodingCodes.NULL);
+
+        assertEquals(UnsignedInteger.valueOf(0), 
decoder.readUnsignedInteger(buffer, decoderState, UnsignedInteger.valueOf(32)));
+        assertEquals(UnsignedInteger.valueOf(127), 
decoder.readUnsignedInteger(buffer, decoderState, UnsignedInteger.valueOf(32)));
+        assertEquals(UnsignedInteger.valueOf(255), 
decoder.readUnsignedInteger(buffer, decoderState, UnsignedInteger.valueOf(32)));
+        assertEquals(UnsignedInteger.valueOf(32), 
decoder.readUnsignedInteger(buffer, decoderState, UnsignedInteger.valueOf(32)));
+    }
+
     @Test
     public void testReadStringWithCustomStringDecoder() throws IOException {
         ProtonBuffer buffer = 
ProtonBufferAllocator.defaultAllocator().allocate();
diff --git 
a/protonj2/src/test/java/org/apache/qpid/protonj2/codec/decoders/ProtonStreamDecoderTest.java
 
b/protonj2/src/test/java/org/apache/qpid/protonj2/codec/decoders/ProtonStreamDecoderTest.java
index e0a0606c..ce124a5a 100644
--- 
a/protonj2/src/test/java/org/apache/qpid/protonj2/codec/decoders/ProtonStreamDecoderTest.java
+++ 
b/protonj2/src/test/java/org/apache/qpid/protonj2/codec/decoders/ProtonStreamDecoderTest.java
@@ -37,6 +37,7 @@ import org.apache.qpid.protonj2.codec.DecodeException;
 import org.apache.qpid.protonj2.codec.EncodingCodes;
 import org.apache.qpid.protonj2.codec.StreamDecoderState;
 import org.apache.qpid.protonj2.types.UnknownDescribedType;
+import org.apache.qpid.protonj2.types.UnsignedInteger;
 import org.apache.qpid.protonj2.types.UnsignedLong;
 import org.apache.qpid.protonj2.types.messaging.Accepted;
 import org.junit.jupiter.api.Test;
@@ -253,6 +254,28 @@ public class ProtonStreamDecoderTest extends 
CodecTestSupport {
         assertEquals(32, streamDecoder.readUnsignedInteger(stream, 
streamDecoderState, 32));
     }
 
+    @Test
+    public void testReadUnsignedIntegerTypesAsObject() throws IOException {
+        ProtonBuffer buffer = 
ProtonBufferAllocator.defaultAllocator().allocate();
+
+        buffer.writeByte(EncodingCodes.UINT0);
+        buffer.writeByte(EncodingCodes.SMALLUINT);
+        buffer.writeByte((byte) 127);
+        buffer.writeByte(EncodingCodes.UINT);
+        buffer.writeByte((byte) 0);
+        buffer.writeByte((byte) 0);
+        buffer.writeByte((byte) 0);
+        buffer.writeByte((byte) 255);
+        buffer.writeByte(EncodingCodes.NULL);
+
+        InputStream stream = new ProtonBufferInputStream(buffer);
+
+        assertEquals(UnsignedInteger.valueOf(0), 
streamDecoder.readUnsignedInteger(stream, streamDecoderState, 
UnsignedInteger.valueOf(32)));
+        assertEquals(UnsignedInteger.valueOf(127), 
streamDecoder.readUnsignedInteger(stream, streamDecoderState, 
UnsignedInteger.valueOf(32)));
+        assertEquals(UnsignedInteger.valueOf(255), 
streamDecoder.readUnsignedInteger(stream, streamDecoderState, 
UnsignedInteger.valueOf(32)));
+        assertEquals(UnsignedInteger.valueOf(32), 
streamDecoder.readUnsignedInteger(stream, streamDecoderState, 
UnsignedInteger.valueOf(32)));
+    }
+
     @Test
     public void testReadMultipleRequestsWrongTypeForArrayEncoding() throws 
IOException {
         ProtonBuffer buffer = 
ProtonBufferAllocator.defaultAllocator().allocate();


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to