You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2024/09/25 15:19:59 UTC

(sis) 01/02: Reduce the visibility of `java.lang.foreign` in the GSF module. This commit hides only the members that can be made package-privated without refactoring the module. Stronger encapsulation will be considered in a future version.

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

desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git

commit 06bef1fbd2fb8e5b9a8e0d58af6bc9f42f9e485c
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Wed Sep 25 16:19:33 2024 +0200

    Reduce the visibility of `java.lang.foreign` in the GSF module.
    This commit hides only the members that can be made package-privated without refactoring the module.
    Stronger encapsulation will be considered in a future version.
---
 .../main/module-info.java                          |    4 +-
 .../main/org/apache/sis/storage/gsf/Attitude.java  |   11 +-
 .../main/org/apache/sis/storage/gsf/Comment.java   |   10 +-
 .../main/org/apache/sis/storage/gsf/DataID.java    |    9 +-
 .../apache/sis/storage/gsf/GSFRecordReader.java    |    8 +-
 .../apache/sis/storage/gsf/HVNavigationError.java  |    9 +-
 .../main/org/apache/sis/storage/gsf/Header.java    |    9 +-
 .../main/org/apache/sis/storage/gsf/History.java   |   10 +-
 .../apache/sis/storage/gsf/NavigationError.java    |   10 +-
 .../main/org/apache/sis/storage/gsf/Position.java  |   13 +-
 .../apache/sis/storage/gsf/PositionOffsets.java    |    8 +-
 .../sis/storage/gsf/ProcessingParameters.java      |    8 +-
 .../main/org/apache/sis/storage/gsf/Records.java   |   10 +-
 .../apache/sis/storage/gsf/SBSensorSpecific.java   |   10 +-
 .../main/org/apache/sis/storage/gsf/SVP.java       |    9 +-
 .../org/apache/sis/storage/gsf/ScaleFactors.java   |   10 +-
 .../main/org/apache/sis/storage/gsf/ScaleInfo.java |   10 +-
 .../apache/sis/storage/gsf/SensorParameters.java   |   10 +-
 .../org/apache/sis/storage/gsf/SensorSpecific.java |   11 +-
 .../org/apache/sis/storage/gsf/SingleBeamPing.java |   10 +-
 .../org/apache/sis/storage/gsf/StructClass.java    |   32 +-
 .../org/apache/sis/storage/gsf/SwathBathyPing.java |    8 +-
 .../apache/sis/storage/gsf/SwathBathySummary.java  |   10 +-
 .../main/org/apache/sis/storage/gsf/TimeSpec.java  |    8 +-
 .../sis/storage/gsf/specific/BDBSpecific.java      |    7 -
 .../sis/storage/gsf/specific/CmpSassSpecific.java  |    8 -
 .../sis/storage/gsf/specific/DeltaTSpecific.java   |    7 -
 .../sis/storage/gsf/specific/EM100Specific.java    |   14 -
 .../sis/storage/gsf/specific/EM121ASpecific.java   |  223 +--
 .../sis/storage/gsf/specific/EM12Specific.java     |  167 +--
 .../storage/gsf/specific/EM3ImagerySpecific.java   |  238 +--
 .../sis/storage/gsf/specific/EM3RawSpecific.java   |  438 +-----
 .../sis/storage/gsf/specific/EM3RawTxSector.java   |  238 +--
 .../sis/storage/gsf/specific/EM3RunTime.java       |  679 +--------
 .../sis/storage/gsf/specific/EM3Specific.java      |  264 +---
 .../storage/gsf/specific/EM4ImagerySpecific.java   |  335 +----
 .../sis/storage/gsf/specific/EM4Specific.java      |  414 +-----
 .../sis/storage/gsf/specific/EM4TxSector.java      |  262 +---
 .../sis/storage/gsf/specific/EM950Specific.java    |  151 +-
 .../sis/storage/gsf/specific/EMPUStatus.java       |  167 +--
 .../apache/sis/storage/gsf/specific/EMRunTime.java |  790 +---------
 .../sis/storage/gsf/specific/EchotracSpecific.java |   79 +-
 .../sis/storage/gsf/specific/ElacMkIISpecific.java |  175 +--
 .../storage/gsf/specific/GeoSwathPlusSpecific.java |  622 +-------
 .../sis/storage/gsf/specific/KMALLExtraDet.java    |   94 +-
 .../storage/gsf/specific/KMALLImagerySpecific.java |   46 +-
 .../sis/storage/gsf/specific/KMALLSpecific.java    |    7 -
 .../sis/storage/gsf/specific/KMALLTxSector.java    |  334 +----
 .../gsf/specific/Klein5410BssImagerySpecific.java  |  134 +-
 .../storage/gsf/specific/Klein5410BssSpecific.java |  430 +-----
 .../sis/storage/gsf/specific/MGD77Specific.java    |  151 +-
 .../sis/storage/gsf/specific/NOSHDBSpecific.java   |   56 +-
 .../gsf/specific/R2SonicImagerySpecific.java       |  691 +--------
 .../sis/storage/gsf/specific/R2SonicSpecific.java  |  802 +---------
 .../gsf/specific/Reson7100ImagerySpecific.java     |   70 +-
 .../storage/gsf/specific/Reson7100Specific.java    | 1192 ++-------------
 .../gsf/specific/Reson8100ImagerySpecific.java     |   47 +-
 .../storage/gsf/specific/Reson8100Specific.java    |  670 +--------
 .../gsf/specific/ResonTSeriesImagerySpecific.java  |   70 +-
 .../storage/gsf/specific/ResonTSeriesSpecific.java | 1538 ++------------------
 .../sis/storage/gsf/specific/SBAmpSpecific.java    |  151 +-
 .../sis/storage/gsf/specific/SBBDBSpecific.java    |  214 +--
 .../storage/gsf/specific/SBEchotracSpecific.java   |  142 +-
 .../sis/storage/gsf/specific/SBMGD77Specific.java  |  190 +--
 .../sis/storage/gsf/specific/SBNOSHDBSpecific.java |   94 +-
 .../storage/gsf/specific/SBNavisoundSpecific.java  |   70 +-
 .../storage/gsf/specific/SeaBat8101Specific.java   |  430 +-----
 .../sis/storage/gsf/specific/SeaBatIISpecific.java |  238 +--
 .../sis/storage/gsf/specific/SeaBatSpecific.java   |  151 +-
 .../storage/gsf/specific/SeaBeam2112Specific.java  |  253 +---
 .../sis/storage/gsf/specific/SeabeamSpecific.java  |   31 +-
 .../sis/storage/gsf/specific/SeamapSpecific.java   |  252 +---
 .../sis/storage/gsf/specific/TypeIIISpecific.java  |  151 +-
 73 files changed, 1259 insertions(+), 12965 deletions(-)

diff --git a/incubator/src/org.apache.sis.storage.gsf/main/module-info.java b/incubator/src/org.apache.sis.storage.gsf/main/module-info.java
index 0624ffd2ac..d006a4f811 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/module-info.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/module-info.java
@@ -24,7 +24,9 @@ module org.apache.sis.storage.gsf {
     // Dependencies used in public API.
     requires transitive org.apache.sis.referencing;
     requires transitive org.apache.sis.storage;
-    requires transitive org.apache.sis.storage.gdal;
+
+    // For internal usage only.
+    requires org.apache.sis.storage.gdal;
 
     provides org.apache.sis.storage.DataStoreProvider
             with org.apache.sis.storage.gsf.GSFStoreProvider;
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Attitude.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Attitude.java
index 779663d7b5..957bfd9b13 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Attitude.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Attitude.java
@@ -32,7 +32,7 @@ public final class Attitude extends StructClass {
     private static final AddressLayout LAYOUT_ROLL;
     private static final AddressLayout LAYOUT_HEAVE;
     private static final AddressLayout LAYOUT_HEADING;
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_NUM_MEASUREMENTS = GSF.C_SHORT.withName("num_measurements"),
         MemoryLayout.paddingLayout(6),
         LAYOUT_ATTITUDE_TIME = GSF.C_POINTER.withName("attitude_time"),
@@ -42,20 +42,15 @@ public final class Attitude extends StructClass {
         LAYOUT_HEADING = GSF.C_POINTER.withName("heading")
     ).withName("t_gsfAttitude");
 
-    public Attitude(MemorySegment struct) {
+    Attitude(MemorySegment struct) {
         super(struct);
     }
 
-    public Attitude(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
     }
 
-
     public int getNumMeasurements() {
         return struct.get(LAYOUT_NUM_MEASUREMENTS, 0);
     }
@@ -84,6 +79,4 @@ public final class Attitude extends StructClass {
         final MemorySegment resolvedAddress = struct.get(LAYOUT_HEADING, 40);
         return getDoubles(resolvedAddress, 0, getNumMeasurements());
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Comment.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Comment.java
index a6767af588..5ed5d31297 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Comment.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Comment.java
@@ -24,26 +24,22 @@ import static java.lang.foreign.ValueLayout.*;
  *
  * @author Johann Sorel (Geomatys)
  */
-public final class Comment extends StructClass{
+public final class Comment extends StructClass {
 
     private static final GroupLayout LAYOUT_COMMENT_TIME;
     private static final OfInt LAYOUT_COMMENT_LENGTH;
     private static final AddressLayout LAYOUT_COMMENT;
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_COMMENT_TIME = TimeSpec.LAYOUT.withName("comment_time"),
         LAYOUT_COMMENT_LENGTH = GSF.C_INT.withName("comment_length"),
         MemoryLayout.paddingLayout(4),
         LAYOUT_COMMENT = GSF.C_POINTER.withName("comment")
     ).withName("t_gsfComment");
 
-    public Comment(MemorySegment struct) {
+    Comment(MemorySegment struct) {
         super(struct);
     }
 
-    public Comment(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/DataID.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/DataID.java
index fb75ad4971..76cb416880 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/DataID.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/DataID.java
@@ -30,18 +30,14 @@ public final class DataID extends StructClass {
     private static final OfInt LAYOUT_RESERVED;
     private static final OfInt LAYOUT_RECORDID;
     private static final OfInt LAYOUT_RECORD_NUMBER;
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_CHECKSUMFLAG = GSF.C_INT.withName("checksumFlag"),
         LAYOUT_RESERVED = GSF.C_INT.withName("reserved"),
         LAYOUT_RECORDID = GSF.C_INT.withName("recordID"),
         LAYOUT_RECORD_NUMBER = GSF.C_INT.withName("record_number")
     ).withName("t_gsfDataID");
 
-    public DataID(MemorySegment struct) {
-        super(struct);
-    }
-
-    public DataID(SegmentAllocator allocator) {
+    DataID(SegmentAllocator allocator) {
         super(allocator);
     }
 
@@ -65,5 +61,4 @@ public final class DataID extends StructClass {
     public int getRecordNumber() {
         return struct.get(LAYOUT_RECORD_NUMBER, 12);
     }
-
 }
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/GSFRecordReader.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/GSFRecordReader.java
index 45ed42207a..1129ec11fe 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/GSFRecordReader.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/GSFRecordReader.java
@@ -43,7 +43,7 @@ public final class GSFRecordReader implements AutoCloseable {
     private Records records;
     private boolean needsFree = false;
 
-    public GSFRecordReader(GSFStore store) throws DataStoreException {
+    GSFRecordReader(GSFStore store) throws DataStoreException {
         this.store = store;
         this.file = store.getFileSet().orElseThrow().getPaths().iterator().next();
         this.gsf = store.getProvider().GSF();
@@ -76,11 +76,11 @@ public final class GSFRecordReader implements AutoCloseable {
                 //DEBUG : this error happens because GSFLib keeps an internal Records in a table for each opened file
                 // and should copy the pointer in the return Records.
                 // When we free the records, it frees the pointed tables but the pointers are not reset in the internal Records.
-                //gsf.free(records.getMemorySegment());
+                //gsf.free(records.struct);
             }
             needsFree = false;
 
-            final int result = gsf.read(handleId, GSF.GSF_NEXT_RECORD, dataId.getMemorySegment(), records.getMemorySegment(), MemorySegment.NULL, 0);
+            final int result = gsf.read(handleId, GSF.GSF_NEXT_RECORD, dataId.struct, records.struct, MemorySegment.NULL, 0);
             if (result == -1) {
                 //error
                 final int errorCode = gsf.intError();
@@ -103,7 +103,7 @@ public final class GSFRecordReader implements AutoCloseable {
         //TODO See above comment line 75
 //        if (needsFree) {
 //            try {
-//                gsf.free(records.getMemorySegment());
+//                gsf.free(records.struct);
 //            } catch (Throwable ex) {
 //                exception.addSuppressed(ex);
 //            }
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/HVNavigationError.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/HVNavigationError.java
index ff0083f240..e756a7dd15 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/HVNavigationError.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/HVNavigationError.java
@@ -33,7 +33,7 @@ public final class HVNavigationError extends StructClass {
     private static final OfDouble LAYOUT_SEP_UNCERTAINTY;
     private static final SequenceLayout LAYOUT_SPARE;
     private static final AddressLayout LAYOUT_POSITION_TYPE;
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_NAV_ERROR_TIME = TimeSpec.LAYOUT.withName("nav_error_time"),
         LAYOUT_RECORD_ID = GSF.C_INT.withName("record_id"),
         MemoryLayout.paddingLayout(4),
@@ -45,14 +45,10 @@ public final class HVNavigationError extends StructClass {
         LAYOUT_POSITION_TYPE = GSF.C_POINTER.withName("position_type")
     ).withName("t_gsfHVNavigationError");
 
-    public HVNavigationError(MemorySegment struct) {
+    HVNavigationError(MemorySegment struct) {
         super(struct);
     }
 
-    public HVNavigationError(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -85,5 +81,4 @@ public final class HVNavigationError extends StructClass {
     public MemorySegment getPositionType() {
         return struct.get(LAYOUT_POSITION_TYPE, 56);
     }
-
 }
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Header.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Header.java
index d0eff52d37..9039dce4f3 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Header.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Header.java
@@ -26,18 +26,14 @@ import java.lang.foreign.*;
 public final class Header extends StructClass {
 
     private static final SequenceLayout LAYOUT_VERSION;
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_VERSION = MemoryLayout.sequenceLayout(12, GSF.C_CHAR).withName("version")
     ).withName("t_gsfHeader");
 
-    public Header(MemorySegment struct) {
+    Header(MemorySegment struct) {
         super(struct);
     }
 
-    public Header(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -46,5 +42,4 @@ public final class Header extends StructClass {
     public String getVersion() {
         return struct.asSlice(0, LAYOUT_VERSION.byteSize()).getString(0);
     }
-
 }
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/History.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/History.java
index d02a3186ea..3b12249c89 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/History.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/History.java
@@ -30,7 +30,7 @@ public final class History extends StructClass {
     private static final SequenceLayout LAYOUT_OPERATOR_NAME;
     private static final AddressLayout LAYOUT_COMMAND_LINE;
     private static final AddressLayout LAYOUT_COMMENT;
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_HISTORY_TIME = TimeSpec.LAYOUT.withName("history_time"),
         LAYOUT_HOST_NAME = MemoryLayout.sequenceLayout(65, GSF.C_CHAR).withName("host_name"),
         LAYOUT_OPERATOR_NAME = MemoryLayout.sequenceLayout(65, GSF.C_CHAR).withName("operator_name"),
@@ -39,14 +39,10 @@ public final class History extends StructClass {
         LAYOUT_COMMENT = GSF.C_POINTER.withName("comment")
     ).withName("t_gsfHistory");
 
-    public History(MemorySegment struct) {
+    History(MemorySegment struct) {
         super(struct);
     }
 
-    public History(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -101,6 +97,4 @@ public final class History extends StructClass {
     public MemorySegment comment(MemorySegment struct) {
         return struct.get(LAYOUT_COMMENT, 160);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/NavigationError.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/NavigationError.java
index 1fdd564fff..29039d63ed 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/NavigationError.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/NavigationError.java
@@ -31,7 +31,7 @@ public final class NavigationError extends StructClass {
     private static final OfDouble LAYOUT_LATITUDE_ERROR;
     private static final OfDouble LAYOUT_LONGITUDE_ERROR;
 
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_NAV_ERROR_TIME = TimeSpec.LAYOUT.withName("nav_error_time"),
         LAYOUT_RECORD_ID = GSF.C_INT.withName("record_id"),
         MemoryLayout.paddingLayout(4),
@@ -39,14 +39,10 @@ public final class NavigationError extends StructClass {
         LAYOUT_LONGITUDE_ERROR = GSF.C_DOUBLE.withName("longitude_error")
     ).withName("t_gsfNavigationError");
 
-    public NavigationError(MemorySegment struct) {
+    NavigationError(MemorySegment struct) {
         super(struct);
     }
 
-    public NavigationError(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -91,6 +87,4 @@ public final class NavigationError extends StructClass {
     public double getLongitudeError() {
         return struct.get(LAYOUT_LONGITUDE_ERROR, 32);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Position.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Position.java
index 7f98784cf8..2eb1b12b67 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Position.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Position.java
@@ -26,20 +26,20 @@ import static java.lang.foreign.ValueLayout.*;
  */
 public final class Position extends StructClass {
 
-    public static final OfDouble LAYOUT_LON;
-    public static final OfDouble LAYOUT_LAT;
-    public static final OfDouble LAYOUT_Z;
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    private static final OfDouble LAYOUT_LON;
+    private static final OfDouble LAYOUT_LAT;
+    private static final OfDouble LAYOUT_Z;
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_LON = GSF.C_DOUBLE.withName("lon"),
         LAYOUT_LAT = GSF.C_DOUBLE.withName("lat"),
         LAYOUT_Z = GSF.C_DOUBLE.withName("z")
     ).withName("t_gsf_gp");
 
-    public Position(MemorySegment segment) {
+    Position(MemorySegment segment) {
         super(segment);
     }
 
-    public Position(SegmentAllocator allocator) {
+    Position(SegmentAllocator allocator) {
         super(allocator);
     }
 
@@ -71,5 +71,4 @@ public final class Position extends StructClass {
     public void setZ(double fieldValue) {
         struct.set(LAYOUT_Z, 16, fieldValue);
     }
-
 }
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/PositionOffsets.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/PositionOffsets.java
index dbb58b4980..c992e3ea91 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/PositionOffsets.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/PositionOffsets.java
@@ -33,17 +33,17 @@ public final class PositionOffsets extends StructClass {
     private static final long y$OFFSET = 8;
     private static final long z$OFFSET = 16;
 
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_X = GSF.C_DOUBLE.withName("x"),
         LAYOUT_Y = GSF.C_DOUBLE.withName("y"),
         LAYOUT_Z = GSF.C_DOUBLE.withName("z")
     ).withName("t_gsf_pos_offsets");
 
-    public PositionOffsets(MemorySegment struct) {
+    PositionOffsets(MemorySegment struct) {
         super(struct);
     }
 
-    public PositionOffsets(SegmentAllocator allocator) {
+    PositionOffsets(SegmentAllocator allocator) {
         super(allocator);
     }
 
@@ -81,6 +81,4 @@ public final class PositionOffsets extends StructClass {
     public double getZ() {
         return struct.get(LAYOUT_Z, z$OFFSET);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/ProcessingParameters.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/ProcessingParameters.java
index c0779378cf..7c49897c93 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/ProcessingParameters.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/ProcessingParameters.java
@@ -30,7 +30,7 @@ public final class ProcessingParameters extends StructClass {
     private static final OfInt LAYOUT_NUMBER_PARAMETERS;
     private static final SequenceLayout LAYOUT_PARAM_SIZE;
     private static final SequenceLayout LAYOUT_PARAM;
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_PARAM_TIME = TimeSpec.LAYOUT.withName("param_time"),
         LAYOUT_NUMBER_PARAMETERS = GSF.C_INT.withName("number_parameters"),
         LAYOUT_PARAM_SIZE = MemoryLayout.sequenceLayout(128, GSF.C_SHORT).withName("param_size"),
@@ -38,14 +38,10 @@ public final class ProcessingParameters extends StructClass {
         LAYOUT_PARAM = MemoryLayout.sequenceLayout(128, GSF.C_POINTER).withName("param")
     ).withName("t_gsfProcessingParameters");
 
-    public ProcessingParameters(MemorySegment struct) {
+    ProcessingParameters(MemorySegment struct) {
         super(struct);
     }
 
-    public ProcessingParameters(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Records.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Records.java
index b84afb87ca..1cfd86c7ef 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Records.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/Records.java
@@ -24,7 +24,7 @@ import java.util.*;
  *
  * @author Johann Sorel (Geomatys)
  */
-public final class Records extends StructClass{
+public final class Records extends StructClass {
 
     private static final GroupLayout LAYOUT_HEADER;
     private static final GroupLayout LAYOUT_SUMMARY;
@@ -38,7 +38,7 @@ public final class Records extends StructClass{
     private static final GroupLayout LAYOUT_NAV_ERROR;
     private static final GroupLayout LAYOUT_HV_NAV_ERROR;
     private static final GroupLayout LAYOUT_ATTITUDE;
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_HEADER = Header.LAYOUT.withName("header"),
         MemoryLayout.paddingLayout(4),
         LAYOUT_SUMMARY = SwathBathySummary.LAYOUT.withName("summary"),
@@ -56,11 +56,7 @@ public final class Records extends StructClass{
 
     private DataID dataId;
 
-    public Records( MemorySegment struct) {
-        super(struct);
-    }
-
-    public Records(SegmentAllocator allocator) {
+    Records(SegmentAllocator allocator) {
         super(allocator);
     }
 
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SBSensorSpecific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SBSensorSpecific.java
index 35f1f955b8..bc8df7d0a3 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SBSensorSpecific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SBSensorSpecific.java
@@ -36,7 +36,7 @@ public final class SBSensorSpecific extends StructClass {
     private static final GroupLayout LAYOUT_GSFBDBSPECIFIC;
     private static final GroupLayout LAYOUT_GSFNOSHDBSPECIFIC;
 
-    public static final GroupLayout LAYOUT = MemoryLayout.unionLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.unionLayout(
         LAYOUT_GSFECHOTRACSPECIFIC = EchotracSpecific.LAYOUT.withName("gsfEchotracSpecific"),
         LAYOUT_GSFBATHY2000SPECIFIC = EchotracSpecific.LAYOUT.withName("gsfBathy2000Specific"),
         LAYOUT_GSFMGD77SPECIFIC = MGD77Specific.LAYOUT.withName("gsfMGD77Specific"),
@@ -44,14 +44,10 @@ public final class SBSensorSpecific extends StructClass {
         LAYOUT_GSFNOSHDBSPECIFIC = NOSHDBSpecific.LAYOUT.withName("gsfNOSHDBSpecific")
     ).withName("t_gsfSBSensorSpecific");
 
-    public SBSensorSpecific(MemorySegment struct) {
+    SBSensorSpecific(MemorySegment struct) {
         super(struct);
     }
 
-    public SBSensorSpecific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -106,6 +102,4 @@ public final class SBSensorSpecific extends StructClass {
     public MemorySegment gsfNOSHDBSpecific() {
         return struct.asSlice(0, LAYOUT_GSFNOSHDBSPECIFIC.byteSize());
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SVP.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SVP.java
index 190d40c1d5..996247ea5f 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SVP.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SVP.java
@@ -33,7 +33,7 @@ public final class SVP extends StructClass {
     private static final OfInt LAYOUT_NUMBER_POINTS;
     private static final AddressLayout LAYOUT_DEPTH;
     private static final AddressLayout LAYOUT_SOUND_SPEED;
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         OBSERVATION_TIMELAYOUT = TimeSpec.LAYOUT.withName("observation_time"),
         APPLICATION_TIMELAYOUT = TimeSpec.LAYOUT.withName("application_time"),
         LAYOUT_LATITUDE = GSF.C_DOUBLE.withName("latitude"),
@@ -44,14 +44,10 @@ public final class SVP extends StructClass {
         LAYOUT_SOUND_SPEED = GSF.C_POINTER.withName("sound_speed")
     ).withName("t_gsfSVP");
 
-    public SVP(MemorySegment struct) {
+    SVP(MemorySegment struct) {
         super(struct);
     }
 
-    public SVP(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -86,5 +82,4 @@ public final class SVP extends StructClass {
         final MemorySegment resolvedAddress = struct.get(LAYOUT_SOUND_SPEED, 64);
         return getDoubles(resolvedAddress, 0, getNumberPoints());
     }
-
 }
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/ScaleFactors.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/ScaleFactors.java
index 402770a179..615e361cbd 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/ScaleFactors.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/ScaleFactors.java
@@ -28,21 +28,17 @@ public final class ScaleFactors extends StructClass{
 
     private static final OfInt LAYOUT_NUMARRAYSUBRECORDS;
     private static final SequenceLayout LAYOUT_SCALETABLE;
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_NUMARRAYSUBRECORDS = GSF.C_INT.withName("numArraySubrecords"),
         MemoryLayout.paddingLayout(4),
         LAYOUT_SCALETABLE = MemoryLayout.sequenceLayout(30, ScaleInfo.LAYOUT).withName("scaleTable")
     ).withName("t_gsfScaleFactors");
 
 
-    public ScaleFactors(MemorySegment struct) {
+    ScaleFactors(MemorySegment struct) {
         super(struct);
     }
 
-    public ScaleFactors(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -67,6 +63,4 @@ public final class ScaleFactors extends StructClass{
     public ScaleInfo[] getScaleTables() {
         return getObjects(8, 30, ScaleInfo.class);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/ScaleInfo.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/ScaleInfo.java
index 179dcf535f..1e02bdd5d9 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/ScaleInfo.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/ScaleInfo.java
@@ -30,7 +30,7 @@ public final class ScaleInfo extends StructClass {
     private static final OfDouble LAYOUT_MULTIPLIER;
     private static final OfDouble LAYOUT_OFFSET;
 
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_COMPRESSIONFLAG = GSF.C_CHAR.withName("compressionFlag"),
         MemoryLayout.paddingLayout(7),
         LAYOUT_MULTIPLIER = GSF.C_DOUBLE.withName("multiplier"),
@@ -38,14 +38,10 @@ public final class ScaleInfo extends StructClass {
     ).withName("t_gsfScaleInfo");
 
 
-    public ScaleInfo(MemorySegment struct) {
+    ScaleInfo(MemorySegment struct) {
         super(struct);
     }
 
-    public ScaleInfo(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -80,6 +76,4 @@ public final class ScaleInfo extends StructClass {
     public double getOffset() {
         return struct.get(LAYOUT_OFFSET, 16);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SensorParameters.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SensorParameters.java
index e0abfe5823..1037953cd0 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SensorParameters.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SensorParameters.java
@@ -34,7 +34,7 @@ public final class SensorParameters extends StructClass {
     private static final SequenceLayout LAYOUT_PARAM;
     private static final long param$OFFSET = 280;
 
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_PARAM_TIME = TimeSpec.LAYOUT.withName("param_time"),
         LAYOUT_NUMBER_PARAMETERS = GSF.C_INT.withName("number_parameters"),
         LAYOUT_PARAM_SIZE = MemoryLayout.sequenceLayout(128, GSF.C_SHORT).withName("param_size"),
@@ -42,14 +42,10 @@ public final class SensorParameters extends StructClass {
         LAYOUT_PARAM = MemoryLayout.sequenceLayout(128, GSF.C_POINTER).withName("param")
     ).withName("t_gsfSensorParameters");
 
-    public SensorParameters(MemorySegment struct) {
+    SensorParameters(MemorySegment struct) {
         super(struct);
     }
 
-    public SensorParameters(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -101,6 +97,4 @@ public final class SensorParameters extends StructClass {
         }
         return params;
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SensorSpecific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SensorSpecific.java
index 9f17546989..b5844d3f30 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SensorSpecific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SensorSpecific.java
@@ -53,9 +53,9 @@ import org.apache.sis.storage.gsf.specific.TypeIIISpecific;
  *
  * @author Johann Sorel (Geomatys)
  */
-public final class SensorSpecific extends StructClass{
+public final class SensorSpecific extends StructClass {
 
-    public static final GroupLayout LAYOUT = MemoryLayout.unionLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.unionLayout(
         SeabeamSpecific.LAYOUT.withName("gsfSeaBeamSpecific"),
         EM100Specific.LAYOUT.withName("gsfEM100Specific"),
         EM121ASpecific.LAYOUT.withName("gsfEM121ASpecific"),
@@ -93,17 +93,12 @@ public final class SensorSpecific extends StructClass{
         SBNavisoundSpecific.LAYOUT.withName("gsfSBNavisoundSpecific")
     ).withName("t_gsfSensorSpecific");
 
-    public SensorSpecific(MemorySegment struct) {
+    SensorSpecific(MemorySegment struct) {
         super(struct);
     }
 
-    public SensorSpecific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
     }
-
 }
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SingleBeamPing.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SingleBeamPing.java
index a5e37dca1e..1c28f2e438 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SingleBeamPing.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SingleBeamPing.java
@@ -41,7 +41,7 @@ public final class SingleBeamPing extends StructClass {
     private static final OfInt LAYOUT_SENSOR_ID;
     private static final GroupLayout LAYOUT_SENSOR_DATA;
 
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_PING_TIME = TimeSpec.LAYOUT.withName("ping_time"),
         LAYOUT_LATITUDE = GSF.C_DOUBLE.withName("latitude"),
         LAYOUT_LONGITUDE = GSF.C_DOUBLE.withName("longitude"),
@@ -59,14 +59,10 @@ public final class SingleBeamPing extends StructClass {
         LAYOUT_SENSOR_DATA = SBSensorSpecific.LAYOUT.withName("sensor_data")
     ).withName("t_gsfSingleBeamPing");
 
-    public SingleBeamPing(MemorySegment struct) {
+    SingleBeamPing(MemorySegment struct) {
         super(struct);
     }
 
-    public SingleBeamPing(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -211,6 +207,4 @@ public final class SingleBeamPing extends StructClass {
     public MemorySegment getSensorData() {
         return struct.asSlice(104, LAYOUT_SENSOR_DATA.byteSize());
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/StructClass.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/StructClass.java
index 0b4e17026e..5fe1a5a952 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/StructClass.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/StructClass.java
@@ -43,20 +43,16 @@ public abstract class StructClass {
 
     protected final MemorySegment struct;
 
-    public StructClass(MemorySegment struct) {
+    protected StructClass(MemorySegment struct) {
         this.struct = struct;
     }
 
-    public StructClass(SegmentAllocator allocator) {
+    protected StructClass(SegmentAllocator allocator) {
         this.struct = allocator.allocate(getLayout());
     }
 
     protected abstract MemoryLayout getLayout();
 
-    public MemorySegment getMemorySegment() {
-        return struct;
-    }
-
     @Override
     public String toString() {
         final Class<? extends StructClass> clazz = getClass();
@@ -105,11 +101,11 @@ public abstract class StructClass {
         return sb.toString();
     }
 
-    protected byte[] getBytes(int offset, int nb) {
+    protected final byte[] getBytes(int offset, int nb) {
         return getBytes(struct, offset, nb);
     }
 
-    protected static byte[] getBytes(MemorySegment segment, int offset, int nb) {
+    static byte[] getBytes(MemorySegment segment, int offset, int nb) {
         if (segment.address() == 0L) return null; //C null adress
         final ByteBuffer db = segment.asSlice(offset, nb).asByteBuffer();
         final byte[] dst = new byte[nb];
@@ -117,11 +113,11 @@ public abstract class StructClass {
         return dst;
     }
 
-    protected short[] getShorts(int offset, int nb) {
+    protected final short[] getShorts(int offset, int nb) {
         return getShorts(struct, offset, nb);
     }
 
-    protected static short[] getShorts(MemorySegment segment, int offset, int nb) {
+    static short[] getShorts(MemorySegment segment, int offset, int nb) {
         if (segment.address() == 0L) return null; //C null adress
         final ShortBuffer db = segment.asSlice(offset, nb*2).asByteBuffer().order(ByteOrder.LITTLE_ENDIAN).asShortBuffer();
         final short[] dst = new short[nb];
@@ -129,11 +125,11 @@ public abstract class StructClass {
         return dst;
     }
 
-    protected int[] getInts(int offset, int nb) {
+    protected final int[] getInts(int offset, int nb) {
         return getInts(struct, offset, nb);
     }
 
-    protected static int[] getInts(MemorySegment segment, int offset, int nb) {
+    static int[] getInts(MemorySegment segment, int offset, int nb) {
         if (segment.address() == 0L) return null; //C null adress
         final IntBuffer db = segment.asSlice(offset, nb*2).asByteBuffer().order(ByteOrder.LITTLE_ENDIAN).asIntBuffer();
         final int[] dst = new int[nb];
@@ -141,11 +137,11 @@ public abstract class StructClass {
         return dst;
     }
 
-    protected long[] getLongs(int offset, int nb) {
+    protected final long[] getLongs(int offset, int nb) {
         return getLongs(struct, offset, nb);
     }
 
-    protected static long[] getLongs(MemorySegment segment, int offset, int nb) {
+    static long[] getLongs(MemorySegment segment, int offset, int nb) {
         if (segment.address() == 0L) return null; //C null adress
         final LongBuffer db = segment.asSlice(offset, nb*2).asByteBuffer().order(ByteOrder.LITTLE_ENDIAN).asLongBuffer();
         final long[] dst = new long[nb];
@@ -153,11 +149,11 @@ public abstract class StructClass {
         return dst;
     }
 
-    protected double[] getDoubles(int offset, int nb) {
+    protected final double[] getDoubles(int offset, int nb) {
         return getDoubles(struct, offset, nb);
     }
 
-    protected static double[] getDoubles(MemorySegment segment, int offset, int nb) {
+    static double[] getDoubles(MemorySegment segment, int offset, int nb) {
         if (segment.address() == 0L) return null; //C null adress
         final DoubleBuffer db = segment.asSlice(offset, nb*8).asByteBuffer().order(ByteOrder.LITTLE_ENDIAN).asDoubleBuffer();
         final double[] dst = new double[nb];
@@ -165,7 +161,7 @@ public abstract class StructClass {
         return dst;
     }
 
-    protected <T extends StructClass> T[] getObjects(int offset, int nb, Class<T> clazz) {
+    final <T extends StructClass> T[] getObjects(int offset, int nb, Class<T> clazz) {
         try {
             final Constructor<T> constructor = clazz.getConstructor(MemorySegment.class);
             final GroupLayout layout = (GroupLayout) clazz.getDeclaredField("LAYOUT").get(null);
@@ -192,7 +188,7 @@ public abstract class StructClass {
      * @param  objects The objects to format as root children.
      * @return A string representation of the tree.
      */
-    protected static String toStringTree(String root, final Iterable<?> objects) {
+    static String toStringTree(String root, final Iterable<?> objects) {
         final StringBuilder sb = new StringBuilder();
         if (root != null) {
             sb.append(root);
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SwathBathyPing.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SwathBathyPing.java
index a4855fb3a9..e4be45ec1b 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SwathBathyPing.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SwathBathyPing.java
@@ -77,7 +77,7 @@ public final class SwathBathyPing extends StructClass {
     private static final OfInt LAYOUT_SENSOR_ID;
     private static final GroupLayout LAYOUT_SENSOR_DATA;
     private static final AddressLayout LAYOUT_BRB_INTEN;
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_PING_TIME = TimeSpec.LAYOUT.withName("ping_time"),
         LAYOUT_LATITUDE = GSF.C_DOUBLE.withName("latitude"),
         LAYOUT_LONGITUDE = GSF.C_DOUBLE.withName("longitude"),
@@ -132,14 +132,10 @@ public final class SwathBathyPing extends StructClass {
         LAYOUT_BRB_INTEN = GSF.C_POINTER.withName("brb_inten")
     ).withName("t_gsfSwathBathyPing");
 
-    public SwathBathyPing(MemorySegment struct) {
+    SwathBathyPing(MemorySegment struct) {
         super(struct);
     }
 
-    public SwathBathyPing(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SwathBathySummary.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SwathBathySummary.java
index f66affb174..30ecb2a387 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SwathBathySummary.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/SwathBathySummary.java
@@ -34,7 +34,7 @@ public final class SwathBathySummary extends StructClass{
     private static final OfDouble LAYOUT_MAX_LONGITUDE;
     private static final OfDouble LAYOUT_MIN_DEPTH;
     private static final OfDouble LAYOUT_MAX_DEPTH;
-    public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
+    static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         LAYOUT_START_TIME = TimeSpec.LAYOUT.withName("start_time"),
         LAYOUT_END_TIME = TimeSpec.LAYOUT.withName("end_time"),
         LAYOUT_MIN_LATITUDE = GSF.C_DOUBLE.withName("min_latitude"),
@@ -45,14 +45,10 @@ public final class SwathBathySummary extends StructClass{
         LAYOUT_MAX_DEPTH = GSF.C_DOUBLE.withName("max_depth")
     ).withName("t_gsfSwathBathySummary");
 
-    public SwathBathySummary(MemorySegment struct) {
+    SwathBathySummary(MemorySegment struct) {
         super(struct);
     }
 
-    public SwathBathySummary(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -89,6 +85,4 @@ public final class SwathBathySummary extends StructClass{
     public double getMaxDepth() {
         return struct.get(LAYOUT_MAX_DEPTH, 72);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/TimeSpec.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/TimeSpec.java
index 32b623cc11..f21c7073b7 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/TimeSpec.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/TimeSpec.java
@@ -19,7 +19,6 @@ package org.apache.sis.storage.gsf;
 import java.lang.foreign.GroupLayout;
 import java.lang.foreign.MemoryLayout;
 import java.lang.foreign.MemorySegment;
-import java.lang.foreign.SegmentAllocator;
 import java.lang.foreign.ValueLayout.OfLong;
 
 
@@ -36,14 +35,10 @@ public final class TimeSpec extends StructClass{
         tv_nsecLAYOUT
     ).withName("timespec");
 
-    public TimeSpec(MemorySegment struct) {
+    TimeSpec(MemorySegment struct) {
         super(struct);
     }
 
-    public TimeSpec(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -56,5 +51,4 @@ public final class TimeSpec extends StructClass{
     public long getTvNsec() {
         return struct.get(tv_nsecLAYOUT, 8L);
     }
-
 }
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/BDBSpecific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/BDBSpecific.java
index 563de711e7..5dcb6cbb42 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/BDBSpecific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/BDBSpecific.java
@@ -27,7 +27,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class BDBSpecific extends StructClass {
-
     private static final OfInt LAYOUT_DOC_NO;
     private static final OfByte LAYOUT_EVAL;
     private static final OfByte LAYOUT_CLASSIFICATION;
@@ -50,10 +49,6 @@ public final class BDBSpecific extends StructClass {
         super(struct);
     }
 
-    public BDBSpecific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -128,6 +123,4 @@ public final class BDBSpecific extends StructClass {
     public byte getDatumFlag() {
         return struct.get(LAYOUT_DATUM_FLAG, 9);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/CmpSassSpecific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/CmpSassSpecific.java
index 6a49f00ce9..ca924af70e 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/CmpSassSpecific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/CmpSassSpecific.java
@@ -27,7 +27,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class CmpSassSpecific extends StructClass {
-
     private static final OfDouble LAYOUT_LFREQ;
     private static final OfDouble LAYOUT_LNTENS;
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
@@ -35,15 +34,10 @@ public final class CmpSassSpecific extends StructClass {
         LAYOUT_LNTENS = GSF.C_DOUBLE.withName("lntens")
     ).withName("t_gsfCmpSassSpecific");
 
-
     public CmpSassSpecific(MemorySegment struct) {
         super(struct);
     }
 
-    public CmpSassSpecific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -68,6 +62,4 @@ public final class CmpSassSpecific extends StructClass {
     public double getLntens() {
         return struct.get(LAYOUT_LNTENS, 8);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/DeltaTSpecific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/DeltaTSpecific.java
index af6b2e0b22..b7113e442e 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/DeltaTSpecific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/DeltaTSpecific.java
@@ -28,7 +28,6 @@ import org.apache.sis.storage.gsf.TimeSpec;
  * @author Johann Sorel (Geomatys)
  */
 public final class DeltaTSpecific extends StructClass {
-
     private static final SequenceLayout LAYOUT_DECODE_FILE_TYPE;
     private static final OfByte LAYOUT_VERSION;
     private static final OfInt LAYOUT_PING_BYTE_SIZE;
@@ -102,10 +101,6 @@ public final class DeltaTSpecific extends StructClass {
         super(struct);
     }
 
-    public DeltaTSpecific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -400,6 +395,4 @@ public final class DeltaTSpecific extends StructClass {
     public String getSpare() {
         return new String(getBytes(200, 32));
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM100Specific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM100Specific.java
index 71272fa816..d32dd2c708 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM100Specific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM100Specific.java
@@ -27,7 +27,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class EM100Specific extends StructClass {
-
     private static final OfDouble LAYOUT_SHIP_PITCH;
     private static final OfDouble LAYOUT_TRANSDUCER_PITCH;
     private static final OfInt LAYOUT_MODE;
@@ -52,22 +51,11 @@ public final class EM100Specific extends StructClass {
         super(struct);
     }
 
-    public EM100Specific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
     }
 
-    /**
-     * The layout of this struct
-     */
-    public static final GroupLayout layout() {
-        return LAYOUT;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
@@ -147,6 +135,4 @@ public final class EM100Specific extends StructClass {
     public int getCounter() {
         return struct.get(LAYOUT_COUNTER, 36);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM121ASpecific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM121ASpecific.java
index 855cfcea14..171cb264f8 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM121ASpecific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM121ASpecific.java
@@ -28,7 +28,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class EM121ASpecific extends StructClass {
-
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         GSF.C_INT.withName("ping_number"),
         GSF.C_INT.withName("mode"),
@@ -45,10 +44,6 @@ public final class EM121ASpecific extends StructClass {
         super(struct);
     }
 
-    public EM121ASpecific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -56,35 +51,15 @@ public final class EM121ASpecific extends StructClass {
 
     private static final OfInt ping_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("ping_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int ping_number
-     * }
-     */
-    public static final OfInt ping_numberLAYOUT() {
-        return ping_numberLAYOUT;
-    }
-
     private static final long ping_number$OFFSET = 0;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int ping_number
-     * }
-     */
-    public static final long ping_number$offset() {
-        return ping_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int ping_number
      * }
      */
-    public static int ping_number(MemorySegment struct) {
+    public int ping_number() {
         return struct.get(ping_numberLAYOUT, ping_number$OFFSET);
     }
 
@@ -94,41 +69,21 @@ public final class EM121ASpecific extends StructClass {
      * int ping_number
      * }
      */
-    public static void ping_number(MemorySegment struct, int fieldValue) {
+    public void ping_number(int fieldValue) {
         struct.set(ping_numberLAYOUT, ping_number$OFFSET, fieldValue);
     }
 
     private static final OfInt modeLAYOUT = (OfInt)LAYOUT.select(groupElement("mode"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int mode
-     * }
-     */
-    public static final OfInt modeLAYOUT() {
-        return modeLAYOUT;
-    }
-
     private static final long mode$OFFSET = 4;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int mode
-     * }
-     */
-    public static final long mode$offset() {
-        return mode$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int mode
      * }
      */
-    public static int mode(MemorySegment struct) {
+    public int mode() {
         return struct.get(modeLAYOUT, mode$OFFSET);
     }
 
@@ -138,41 +93,21 @@ public final class EM121ASpecific extends StructClass {
      * int mode
      * }
      */
-    public static void mode(MemorySegment struct, int fieldValue) {
+    public void mode(int fieldValue) {
         struct.set(modeLAYOUT, mode$OFFSET, fieldValue);
     }
 
     private static final OfInt valid_beamsLAYOUT = (OfInt)LAYOUT.select(groupElement("valid_beams"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int valid_beams
-     * }
-     */
-    public static final OfInt valid_beamsLAYOUT() {
-        return valid_beamsLAYOUT;
-    }
-
     private static final long valid_beams$OFFSET = 8;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int valid_beams
-     * }
-     */
-    public static final long valid_beams$offset() {
-        return valid_beams$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int valid_beams
      * }
      */
-    public static int valid_beams(MemorySegment struct) {
+    public int valid_beams() {
         return struct.get(valid_beamsLAYOUT, valid_beams$OFFSET);
     }
 
@@ -182,41 +117,21 @@ public final class EM121ASpecific extends StructClass {
      * int valid_beams
      * }
      */
-    public static void valid_beams(MemorySegment struct, int fieldValue) {
+    public void valid_beams(int fieldValue) {
         struct.set(valid_beamsLAYOUT, valid_beams$OFFSET, fieldValue);
     }
 
     private static final OfInt pulse_lengthLAYOUT = (OfInt)LAYOUT.select(groupElement("pulse_length"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int pulse_length
-     * }
-     */
-    public static final OfInt pulse_lengthLAYOUT() {
-        return pulse_lengthLAYOUT;
-    }
-
     private static final long pulse_length$OFFSET = 12;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int pulse_length
-     * }
-     */
-    public static final long pulse_length$offset() {
-        return pulse_length$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int pulse_length
      * }
      */
-    public static int pulse_length(MemorySegment struct) {
+    public int pulse_length() {
         return struct.get(pulse_lengthLAYOUT, pulse_length$OFFSET);
     }
 
@@ -226,41 +141,21 @@ public final class EM121ASpecific extends StructClass {
      * int pulse_length
      * }
      */
-    public static void pulse_length(MemorySegment struct, int fieldValue) {
+    public void pulse_length(int fieldValue) {
         struct.set(pulse_lengthLAYOUT, pulse_length$OFFSET, fieldValue);
     }
 
     private static final OfInt beam_widthLAYOUT = (OfInt)LAYOUT.select(groupElement("beam_width"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int beam_width
-     * }
-     */
-    public static final OfInt beam_widthLAYOUT() {
-        return beam_widthLAYOUT;
-    }
-
     private static final long beam_width$OFFSET = 16;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int beam_width
-     * }
-     */
-    public static final long beam_width$offset() {
-        return beam_width$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int beam_width
      * }
      */
-    public static int beam_width(MemorySegment struct) {
+    public int beam_width() {
         return struct.get(beam_widthLAYOUT, beam_width$OFFSET);
     }
 
@@ -270,41 +165,21 @@ public final class EM121ASpecific extends StructClass {
      * int beam_width
      * }
      */
-    public static void beam_width(MemorySegment struct, int fieldValue) {
+    public void beam_width(int fieldValue) {
         struct.set(beam_widthLAYOUT, beam_width$OFFSET, fieldValue);
     }
 
     private static final OfInt tx_powerLAYOUT = (OfInt)LAYOUT.select(groupElement("tx_power"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int tx_power
-     * }
-     */
-    public static final OfInt tx_powerLAYOUT() {
-        return tx_powerLAYOUT;
-    }
-
     private static final long tx_power$OFFSET = 20;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int tx_power
-     * }
-     */
-    public static final long tx_power$offset() {
-        return tx_power$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int tx_power
      * }
      */
-    public static int tx_power(MemorySegment struct) {
+    public int tx_power() {
         return struct.get(tx_powerLAYOUT, tx_power$OFFSET);
     }
 
@@ -314,41 +189,21 @@ public final class EM121ASpecific extends StructClass {
      * int tx_power
      * }
      */
-    public static void tx_power(MemorySegment struct, int fieldValue) {
+    public void tx_power(int fieldValue) {
         struct.set(tx_powerLAYOUT, tx_power$OFFSET, fieldValue);
     }
 
     private static final OfInt tx_statusLAYOUT = (OfInt)LAYOUT.select(groupElement("tx_status"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int tx_status
-     * }
-     */
-    public static final OfInt tx_statusLAYOUT() {
-        return tx_statusLAYOUT;
-    }
-
     private static final long tx_status$OFFSET = 24;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int tx_status
-     * }
-     */
-    public static final long tx_status$offset() {
-        return tx_status$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int tx_status
      * }
      */
-    public static int tx_status(MemorySegment struct) {
+    public int tx_status() {
         return struct.get(tx_statusLAYOUT, tx_status$OFFSET);
     }
 
@@ -358,41 +213,21 @@ public final class EM121ASpecific extends StructClass {
      * int tx_status
      * }
      */
-    public static void tx_status(MemorySegment struct, int fieldValue) {
+    public void tx_status(int fieldValue) {
         struct.set(tx_statusLAYOUT, tx_status$OFFSET, fieldValue);
     }
 
     private static final OfInt rx_statusLAYOUT = (OfInt)LAYOUT.select(groupElement("rx_status"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int rx_status
-     * }
-     */
-    public static final OfInt rx_statusLAYOUT() {
-        return rx_statusLAYOUT;
-    }
-
     private static final long rx_status$OFFSET = 28;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int rx_status
-     * }
-     */
-    public static final long rx_status$offset() {
-        return rx_status$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int rx_status
      * }
      */
-    public static int rx_status(MemorySegment struct) {
+    public int rx_status() {
         return struct.get(rx_statusLAYOUT, rx_status$OFFSET);
     }
 
@@ -402,41 +237,21 @@ public final class EM121ASpecific extends StructClass {
      * int rx_status
      * }
      */
-    public static void rx_status(MemorySegment struct, int fieldValue) {
+    public void rx_status(int fieldValue) {
         struct.set(rx_statusLAYOUT, rx_status$OFFSET, fieldValue);
     }
 
     private static final OfDouble surface_velocityLAYOUT = (OfDouble)LAYOUT.select(groupElement("surface_velocity"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double surface_velocity
-     * }
-     */
-    public static final OfDouble surface_velocityLAYOUT() {
-        return surface_velocityLAYOUT;
-    }
-
     private static final long surface_velocity$OFFSET = 32;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double surface_velocity
-     * }
-     */
-    public static final long surface_velocity$offset() {
-        return surface_velocity$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double surface_velocity
      * }
      */
-    public static double surface_velocity(MemorySegment struct) {
+    public double surface_velocity() {
         return struct.get(surface_velocityLAYOUT, surface_velocity$OFFSET);
     }
 
@@ -446,9 +261,7 @@ public final class EM121ASpecific extends StructClass {
      * double surface_velocity
      * }
      */
-    public static void surface_velocity(MemorySegment struct, double fieldValue) {
+    public void surface_velocity(double fieldValue) {
         struct.set(surface_velocityLAYOUT, surface_velocity$OFFSET, fieldValue);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM12Specific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM12Specific.java
index e945566601..eea8596b3f 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM12Specific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM12Specific.java
@@ -29,8 +29,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class EM12Specific extends StructClass {
-
-
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         GSF.C_INT.withName("ping_number"),
         GSF.C_INT.withName("resolution"),
@@ -46,10 +44,6 @@ public final class EM12Specific extends StructClass {
         super(struct);
     }
 
-    public EM12Specific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -57,35 +51,15 @@ public final class EM12Specific extends StructClass {
 
     private static final OfInt ping_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("ping_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int ping_number
-     * }
-     */
-    public static final OfInt ping_numberLAYOUT() {
-        return ping_numberLAYOUT;
-    }
-
     private static final long ping_number$OFFSET = 0;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int ping_number
-     * }
-     */
-    public static final long ping_number$offset() {
-        return ping_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int ping_number
      * }
      */
-    public static int ping_number(MemorySegment struct) {
+    public int ping_number() {
         return struct.get(ping_numberLAYOUT, ping_number$OFFSET);
     }
 
@@ -95,41 +69,21 @@ public final class EM12Specific extends StructClass {
      * int ping_number
      * }
      */
-    public static void ping_number(MemorySegment struct, int fieldValue) {
+    public void ping_number(int fieldValue) {
         struct.set(ping_numberLAYOUT, ping_number$OFFSET, fieldValue);
     }
 
     private static final OfInt resolutionLAYOUT = (OfInt)LAYOUT.select(groupElement("resolution"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int resolution
-     * }
-     */
-    public static final OfInt resolutionLAYOUT() {
-        return resolutionLAYOUT;
-    }
-
     private static final long resolution$OFFSET = 4;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int resolution
-     * }
-     */
-    public static final long resolution$offset() {
-        return resolution$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int resolution
      * }
      */
-    public static int resolution(MemorySegment struct) {
+    public int resolution() {
         return struct.get(resolutionLAYOUT, resolution$OFFSET);
     }
 
@@ -139,41 +93,21 @@ public final class EM12Specific extends StructClass {
      * int resolution
      * }
      */
-    public static void resolution(MemorySegment struct, int fieldValue) {
+    public void resolution(int fieldValue) {
         struct.set(resolutionLAYOUT, resolution$OFFSET, fieldValue);
     }
 
     private static final OfInt ping_qualityLAYOUT = (OfInt)LAYOUT.select(groupElement("ping_quality"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int ping_quality
-     * }
-     */
-    public static final OfInt ping_qualityLAYOUT() {
-        return ping_qualityLAYOUT;
-    }
-
     private static final long ping_quality$OFFSET = 8;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int ping_quality
-     * }
-     */
-    public static final long ping_quality$offset() {
-        return ping_quality$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int ping_quality
      * }
      */
-    public static int ping_quality(MemorySegment struct) {
+    public int ping_quality() {
         return struct.get(ping_qualityLAYOUT, ping_quality$OFFSET);
     }
 
@@ -183,41 +117,21 @@ public final class EM12Specific extends StructClass {
      * int ping_quality
      * }
      */
-    public static void ping_quality(MemorySegment struct, int fieldValue) {
+    public void ping_quality(int fieldValue) {
         struct.set(ping_qualityLAYOUT, ping_quality$OFFSET, fieldValue);
     }
 
     private static final OfDouble sound_velocityLAYOUT = (OfDouble)LAYOUT.select(groupElement("sound_velocity"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double sound_velocity
-     * }
-     */
-    public static final OfDouble sound_velocityLAYOUT() {
-        return sound_velocityLAYOUT;
-    }
-
     private static final long sound_velocity$OFFSET = 16;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double sound_velocity
-     * }
-     */
-    public static final long sound_velocity$offset() {
-        return sound_velocity$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double sound_velocity
      * }
      */
-    public static double sound_velocity(MemorySegment struct) {
+    public double sound_velocity() {
         return struct.get(sound_velocityLAYOUT, sound_velocity$OFFSET);
     }
 
@@ -227,41 +141,21 @@ public final class EM12Specific extends StructClass {
      * double sound_velocity
      * }
      */
-    public static void sound_velocity(MemorySegment struct, double fieldValue) {
+    public void sound_velocity(double fieldValue) {
         struct.set(sound_velocityLAYOUT, sound_velocity$OFFSET, fieldValue);
     }
 
     private static final OfInt modeLAYOUT = (OfInt)LAYOUT.select(groupElement("mode"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int mode
-     * }
-     */
-    public static final OfInt modeLAYOUT() {
-        return modeLAYOUT;
-    }
-
     private static final long mode$OFFSET = 24;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int mode
-     * }
-     */
-    public static final long mode$offset() {
-        return mode$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int mode
      * }
      */
-    public static int mode(MemorySegment struct) {
+    public int mode() {
         return struct.get(modeLAYOUT, mode$OFFSET);
     }
 
@@ -271,41 +165,21 @@ public final class EM12Specific extends StructClass {
      * int mode
      * }
      */
-    public static void mode(MemorySegment struct, int fieldValue) {
+    public void mode(int fieldValue) {
         struct.set(modeLAYOUT, mode$OFFSET, fieldValue);
     }
 
     private static final SequenceLayout spareLAYOUT = (SequenceLayout)LAYOUT.select(groupElement("spare"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char spare[32]
-     * }
-     */
-    public static final SequenceLayout spareLAYOUT() {
-        return spareLAYOUT;
-    }
-
     private static final long spare$OFFSET = 28;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char spare[32]
-     * }
-     */
-    public static final long spare$offset() {
-        return spare$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char spare[32]
      * }
      */
-    public static MemorySegment spare(MemorySegment struct) {
+    public MemorySegment spare() {
         return struct.asSlice(spare$OFFSET, spareLAYOUT.byteSize());
     }
 
@@ -315,21 +189,10 @@ public final class EM12Specific extends StructClass {
      * unsigned char spare[32]
      * }
      */
-    public static void spare(MemorySegment struct, MemorySegment fieldValue) {
+    public void spare(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, spare$OFFSET, spareLAYOUT.byteSize());
     }
 
-    private static long[] spare$DIMS = { 32 };
-
-    /**
-     * Dimensions for array field:
-     * {@snippet lang=c :
-     * unsigned char spare[32]
-     * }
-     */
-    public static long[] spare$dimensions() {
-        return spare$DIMS;
-    }
     private static final VarHandle spare$ELEM_HANDLE = spareLAYOUT.varHandle(sequenceElement());
 
     /**
@@ -338,7 +201,7 @@ public final class EM12Specific extends StructClass {
      * unsigned char spare[32]
      * }
      */
-    public static byte spare(MemorySegment struct, long index0) {
+    public byte spare(long index0) {
         return (byte)spare$ELEM_HANDLE.get(struct, 0L, index0);
     }
 
@@ -348,9 +211,7 @@ public final class EM12Specific extends StructClass {
      * unsigned char spare[32]
      * }
      */
-    public static void spare(MemorySegment struct, long index0, byte fieldValue) {
+    public void spare(long index0, byte fieldValue) {
         spare$ELEM_HANDLE.set(struct, 0L, index0, fieldValue);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3ImagerySpecific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3ImagerySpecific.java
index 63127eaa38..9d1c129acd 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3ImagerySpecific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3ImagerySpecific.java
@@ -29,7 +29,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class EM3ImagerySpecific extends StructClass {
-
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         GSF.C_SHORT.withName("range_norm"),
         GSF.C_SHORT.withName("start_tvg_ramp"),
@@ -46,10 +45,6 @@ public final class EM3ImagerySpecific extends StructClass {
         super(struct);
     }
 
-    public EM3ImagerySpecific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -57,35 +52,15 @@ public final class EM3ImagerySpecific extends StructClass {
 
     private static final OfShort range_normLAYOUT = (OfShort)LAYOUT.select(groupElement("range_norm"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned short range_norm
-     * }
-     */
-    public static final OfShort range_normLAYOUT() {
-        return range_normLAYOUT;
-    }
-
     private static final long range_norm$OFFSET = 0;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned short range_norm
-     * }
-     */
-    public static final long range_norm$offset() {
-        return range_norm$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned short range_norm
      * }
      */
-    public static short range_norm(MemorySegment struct) {
+    public short range_norm() {
         return struct.get(range_normLAYOUT, range_norm$OFFSET);
     }
 
@@ -95,41 +70,21 @@ public final class EM3ImagerySpecific extends StructClass {
      * unsigned short range_norm
      * }
      */
-    public static void range_norm(MemorySegment struct, short fieldValue) {
+    public void range_norm(short fieldValue) {
         struct.set(range_normLAYOUT, range_norm$OFFSET, fieldValue);
     }
 
     private static final OfShort start_tvg_rampLAYOUT = (OfShort)LAYOUT.select(groupElement("start_tvg_ramp"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned short start_tvg_ramp
-     * }
-     */
-    public static final OfShort start_tvg_rampLAYOUT() {
-        return start_tvg_rampLAYOUT;
-    }
-
     private static final long start_tvg_ramp$OFFSET = 2;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned short start_tvg_ramp
-     * }
-     */
-    public static final long start_tvg_ramp$offset() {
-        return start_tvg_ramp$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned short start_tvg_ramp
      * }
      */
-    public static short start_tvg_ramp(MemorySegment struct) {
+    public short start_tvg_ramp() {
         return struct.get(start_tvg_rampLAYOUT, start_tvg_ramp$OFFSET);
     }
 
@@ -139,41 +94,21 @@ public final class EM3ImagerySpecific extends StructClass {
      * unsigned short start_tvg_ramp
      * }
      */
-    public static void start_tvg_ramp(MemorySegment struct, short fieldValue) {
+    public void start_tvg_ramp(short fieldValue) {
         struct.set(start_tvg_rampLAYOUT, start_tvg_ramp$OFFSET, fieldValue);
     }
 
     private static final OfShort stop_tvg_rampLAYOUT = (OfShort)LAYOUT.select(groupElement("stop_tvg_ramp"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned short stop_tvg_ramp
-     * }
-     */
-    public static final OfShort stop_tvg_rampLAYOUT() {
-        return stop_tvg_rampLAYOUT;
-    }
-
     private static final long stop_tvg_ramp$OFFSET = 4;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned short stop_tvg_ramp
-     * }
-     */
-    public static final long stop_tvg_ramp$offset() {
-        return stop_tvg_ramp$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned short stop_tvg_ramp
      * }
      */
-    public static short stop_tvg_ramp(MemorySegment struct) {
+    public short stop_tvg_ramp() {
         return struct.get(stop_tvg_rampLAYOUT, stop_tvg_ramp$OFFSET);
     }
 
@@ -183,41 +118,21 @@ public final class EM3ImagerySpecific extends StructClass {
      * unsigned short stop_tvg_ramp
      * }
      */
-    public static void stop_tvg_ramp(MemorySegment struct, short fieldValue) {
+    public void stop_tvg_ramp(short fieldValue) {
         struct.set(stop_tvg_rampLAYOUT, stop_tvg_ramp$OFFSET, fieldValue);
     }
 
     private static final OfByte bsnLAYOUT = (OfByte)LAYOUT.select(groupElement("bsn"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * char bsn
-     * }
-     */
-    public static final OfByte bsnLAYOUT() {
-        return bsnLAYOUT;
-    }
-
     private static final long bsn$OFFSET = 6;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * char bsn
-     * }
-     */
-    public static final long bsn$offset() {
-        return bsn$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * char bsn
      * }
      */
-    public static byte bsn(MemorySegment struct) {
+    public byte bsn() {
         return struct.get(bsnLAYOUT, bsn$OFFSET);
     }
 
@@ -227,41 +142,21 @@ public final class EM3ImagerySpecific extends StructClass {
      * char bsn
      * }
      */
-    public static void bsn(MemorySegment struct, byte fieldValue) {
+    public void bsn(byte fieldValue) {
         struct.set(bsnLAYOUT, bsn$OFFSET, fieldValue);
     }
 
     private static final OfByte bsoLAYOUT = (OfByte)LAYOUT.select(groupElement("bso"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * char bso
-     * }
-     */
-    public static final OfByte bsoLAYOUT() {
-        return bsoLAYOUT;
-    }
-
     private static final long bso$OFFSET = 7;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * char bso
-     * }
-     */
-    public static final long bso$offset() {
-        return bso$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * char bso
      * }
      */
-    public static byte bso(MemorySegment struct) {
+    public byte bso() {
         return struct.get(bsoLAYOUT, bso$OFFSET);
     }
 
@@ -271,41 +166,21 @@ public final class EM3ImagerySpecific extends StructClass {
      * char bso
      * }
      */
-    public static void bso(MemorySegment struct, byte fieldValue) {
+    public void bso(byte fieldValue) {
         struct.set(bsoLAYOUT, bso$OFFSET, fieldValue);
     }
 
     private static final OfDouble mean_absorptionLAYOUT = (OfDouble)LAYOUT.select(groupElement("mean_absorption"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double mean_absorption
-     * }
-     */
-    public static final OfDouble mean_absorptionLAYOUT() {
-        return mean_absorptionLAYOUT;
-    }
-
     private static final long mean_absorption$OFFSET = 8;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double mean_absorption
-     * }
-     */
-    public static final long mean_absorption$offset() {
-        return mean_absorption$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double mean_absorption
      * }
      */
-    public static double mean_absorption(MemorySegment struct) {
+    public double mean_absorption() {
         return struct.get(mean_absorptionLAYOUT, mean_absorption$OFFSET);
     }
 
@@ -315,41 +190,21 @@ public final class EM3ImagerySpecific extends StructClass {
      * double mean_absorption
      * }
      */
-    public static void mean_absorption(MemorySegment struct, double fieldValue) {
+    public void mean_absorption(double fieldValue) {
         struct.set(mean_absorptionLAYOUT, mean_absorption$OFFSET, fieldValue);
     }
 
     private static final OfShort offsetLAYOUT = (OfShort)LAYOUT.select(groupElement("offset"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * short offset
-     * }
-     */
-    public static final OfShort offsetLAYOUT() {
-        return offsetLAYOUT;
-    }
-
     private static final long offset$OFFSET = 16;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * short offset
-     * }
-     */
-    public static final long offset$offset() {
-        return offset$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * short offset
      * }
      */
-    public static short offset(MemorySegment struct) {
+    public short offset() {
         return struct.get(offsetLAYOUT, offset$OFFSET);
     }
 
@@ -359,41 +214,21 @@ public final class EM3ImagerySpecific extends StructClass {
      * short offset
      * }
      */
-    public static void offset(MemorySegment struct, short fieldValue) {
+    public void offset(short fieldValue) {
         struct.set(offsetLAYOUT, offset$OFFSET, fieldValue);
     }
 
     private static final OfShort scaleLAYOUT = (OfShort)LAYOUT.select(groupElement("scale"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * short scale
-     * }
-     */
-    public static final OfShort scaleLAYOUT() {
-        return scaleLAYOUT;
-    }
-
     private static final long scale$OFFSET = 18;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * short scale
-     * }
-     */
-    public static final long scale$offset() {
-        return scale$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * short scale
      * }
      */
-    public static short scale(MemorySegment struct) {
+    public short scale() {
         return struct.get(scaleLAYOUT, scale$OFFSET);
     }
 
@@ -403,41 +238,21 @@ public final class EM3ImagerySpecific extends StructClass {
      * short scale
      * }
      */
-    public static void scale(MemorySegment struct, short fieldValue) {
+    public void scale(short fieldValue) {
         struct.set(scaleLAYOUT, scale$OFFSET, fieldValue);
     }
 
     private static final SequenceLayout spareLAYOUT = (SequenceLayout)LAYOUT.select(groupElement("spare"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char spare[4]
-     * }
-     */
-    public static final SequenceLayout spareLAYOUT() {
-        return spareLAYOUT;
-    }
-
     private static final long spare$OFFSET = 20;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char spare[4]
-     * }
-     */
-    public static final long spare$offset() {
-        return spare$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char spare[4]
      * }
      */
-    public static MemorySegment spare(MemorySegment struct) {
+    public MemorySegment spare() {
         return struct.asSlice(spare$OFFSET, spareLAYOUT.byteSize());
     }
 
@@ -447,21 +262,10 @@ public final class EM3ImagerySpecific extends StructClass {
      * unsigned char spare[4]
      * }
      */
-    public static void spare(MemorySegment struct, MemorySegment fieldValue) {
+    public void spare(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, spare$OFFSET, spareLAYOUT.byteSize());
     }
 
-    private static long[] spare$DIMS = { 4 };
-
-    /**
-     * Dimensions for array field:
-     * {@snippet lang=c :
-     * unsigned char spare[4]
-     * }
-     */
-    public static long[] spare$dimensions() {
-        return spare$DIMS;
-    }
     private static final VarHandle spare$ELEM_HANDLE = spareLAYOUT.varHandle(sequenceElement());
 
     /**
@@ -470,7 +274,7 @@ public final class EM3ImagerySpecific extends StructClass {
      * unsigned char spare[4]
      * }
      */
-    public static byte spare(MemorySegment struct, long index0) {
+    public byte spare(long index0) {
         return (byte)spare$ELEM_HANDLE.get(struct, 0L, index0);
     }
 
@@ -480,9 +284,7 @@ public final class EM3ImagerySpecific extends StructClass {
      * unsigned char spare[4]
      * }
      */
-    public static void spare(MemorySegment struct, long index0, byte fieldValue) {
+    public void spare(long index0, byte fieldValue) {
         spare$ELEM_HANDLE.set(struct, 0L, index0, fieldValue);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3RawSpecific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3RawSpecific.java
index 46bf4e7ffc..3979fdd20c 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3RawSpecific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3RawSpecific.java
@@ -29,7 +29,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class EM3RawSpecific extends StructClass {
-
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         GSF.C_INT.withName("model_number"),
         GSF.C_INT.withName("ping_counter"),
@@ -55,10 +54,6 @@ public final class EM3RawSpecific extends StructClass {
         super(struct);
     }
 
-    public EM3RawSpecific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -66,35 +61,15 @@ public final class EM3RawSpecific extends StructClass {
 
     private static final OfInt model_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("model_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int model_number
-     * }
-     */
-    public static final OfInt model_numberLAYOUT() {
-        return model_numberLAYOUT;
-    }
-
     private static final long model_number$OFFSET = 0;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int model_number
-     * }
-     */
-    public static final long model_number$offset() {
-        return model_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int model_number
      * }
      */
-    public static int model_number(MemorySegment struct) {
+    public int model_number() {
         return struct.get(model_numberLAYOUT, model_number$OFFSET);
     }
 
@@ -104,41 +79,21 @@ public final class EM3RawSpecific extends StructClass {
      * int model_number
      * }
      */
-    public static void model_number(MemorySegment struct, int fieldValue) {
+    public void model_number(int fieldValue) {
         struct.set(model_numberLAYOUT, model_number$OFFSET, fieldValue);
     }
 
     private static final OfInt ping_counterLAYOUT = (OfInt)LAYOUT.select(groupElement("ping_counter"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int ping_counter
-     * }
-     */
-    public static final OfInt ping_counterLAYOUT() {
-        return ping_counterLAYOUT;
-    }
-
     private static final long ping_counter$OFFSET = 4;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int ping_counter
-     * }
-     */
-    public static final long ping_counter$offset() {
-        return ping_counter$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int ping_counter
      * }
      */
-    public static int ping_counter(MemorySegment struct) {
+    public int ping_counter() {
         return struct.get(ping_counterLAYOUT, ping_counter$OFFSET);
     }
 
@@ -148,41 +103,21 @@ public final class EM3RawSpecific extends StructClass {
      * int ping_counter
      * }
      */
-    public static void ping_counter(MemorySegment struct, int fieldValue) {
+    public void ping_counter(int fieldValue) {
         struct.set(ping_counterLAYOUT, ping_counter$OFFSET, fieldValue);
     }
 
     private static final OfInt serial_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("serial_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int serial_number
-     * }
-     */
-    public static final OfInt serial_numberLAYOUT() {
-        return serial_numberLAYOUT;
-    }
-
     private static final long serial_number$OFFSET = 8;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int serial_number
-     * }
-     */
-    public static final long serial_number$offset() {
-        return serial_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int serial_number
      * }
      */
-    public static int serial_number(MemorySegment struct) {
+    public int serial_number() {
         return struct.get(serial_numberLAYOUT, serial_number$OFFSET);
     }
 
@@ -192,41 +127,21 @@ public final class EM3RawSpecific extends StructClass {
      * int serial_number
      * }
      */
-    public static void serial_number(MemorySegment struct, int fieldValue) {
+    public void serial_number(int fieldValue) {
         struct.set(serial_numberLAYOUT, serial_number$OFFSET, fieldValue);
     }
 
     private static final OfDouble surface_velocityLAYOUT = (OfDouble)LAYOUT.select(groupElement("surface_velocity"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double surface_velocity
-     * }
-     */
-    public static final OfDouble surface_velocityLAYOUT() {
-        return surface_velocityLAYOUT;
-    }
-
     private static final long surface_velocity$OFFSET = 16;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double surface_velocity
-     * }
-     */
-    public static final long surface_velocity$offset() {
-        return surface_velocity$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double surface_velocity
      * }
      */
-    public static double surface_velocity(MemorySegment struct) {
+    public double surface_velocity() {
         return struct.get(surface_velocityLAYOUT, surface_velocity$OFFSET);
     }
 
@@ -236,41 +151,21 @@ public final class EM3RawSpecific extends StructClass {
      * double surface_velocity
      * }
      */
-    public static void surface_velocity(MemorySegment struct, double fieldValue) {
+    public void surface_velocity(double fieldValue) {
         struct.set(surface_velocityLAYOUT, surface_velocity$OFFSET, fieldValue);
     }
 
     private static final OfDouble transducer_depthLAYOUT = (OfDouble)LAYOUT.select(groupElement("transducer_depth"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double transducer_depth
-     * }
-     */
-    public static final OfDouble transducer_depthLAYOUT() {
-        return transducer_depthLAYOUT;
-    }
-
     private static final long transducer_depth$OFFSET = 24;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double transducer_depth
-     * }
-     */
-    public static final long transducer_depth$offset() {
-        return transducer_depth$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double transducer_depth
      * }
      */
-    public static double transducer_depth(MemorySegment struct) {
+    public double transducer_depth() {
         return struct.get(transducer_depthLAYOUT, transducer_depth$OFFSET);
     }
 
@@ -280,41 +175,21 @@ public final class EM3RawSpecific extends StructClass {
      * double transducer_depth
      * }
      */
-    public static void transducer_depth(MemorySegment struct, double fieldValue) {
+    public void transducer_depth(double fieldValue) {
         struct.set(transducer_depthLAYOUT, transducer_depth$OFFSET, fieldValue);
     }
 
     private static final OfInt valid_detectionsLAYOUT = (OfInt)LAYOUT.select(groupElement("valid_detections"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int valid_detections
-     * }
-     */
-    public static final OfInt valid_detectionsLAYOUT() {
-        return valid_detectionsLAYOUT;
-    }
-
     private static final long valid_detections$OFFSET = 32;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int valid_detections
-     * }
-     */
-    public static final long valid_detections$offset() {
-        return valid_detections$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int valid_detections
      * }
      */
-    public static int valid_detections(MemorySegment struct) {
+    public int valid_detections() {
         return struct.get(valid_detectionsLAYOUT, valid_detections$OFFSET);
     }
 
@@ -324,41 +199,21 @@ public final class EM3RawSpecific extends StructClass {
      * int valid_detections
      * }
      */
-    public static void valid_detections(MemorySegment struct, int fieldValue) {
+    public void valid_detections(int fieldValue) {
         struct.set(valid_detectionsLAYOUT, valid_detections$OFFSET, fieldValue);
     }
 
     private static final OfDouble sampling_frequencyLAYOUT = (OfDouble)LAYOUT.select(groupElement("sampling_frequency"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double sampling_frequency
-     * }
-     */
-    public static final OfDouble sampling_frequencyLAYOUT() {
-        return sampling_frequencyLAYOUT;
-    }
-
     private static final long sampling_frequency$OFFSET = 40;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double sampling_frequency
-     * }
-     */
-    public static final long sampling_frequency$offset() {
-        return sampling_frequency$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double sampling_frequency
      * }
      */
-    public static double sampling_frequency(MemorySegment struct) {
+    public double sampling_frequency() {
         return struct.get(sampling_frequencyLAYOUT, sampling_frequency$OFFSET);
     }
 
@@ -368,41 +223,21 @@ public final class EM3RawSpecific extends StructClass {
      * double sampling_frequency
      * }
      */
-    public static void sampling_frequency(MemorySegment struct, double fieldValue) {
+    public void sampling_frequency(double fieldValue) {
         struct.set(sampling_frequencyLAYOUT, sampling_frequency$OFFSET, fieldValue);
     }
 
     private static final OfDouble vehicle_depthLAYOUT = (OfDouble)LAYOUT.select(groupElement("vehicle_depth"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double vehicle_depth
-     * }
-     */
-    public static final OfDouble vehicle_depthLAYOUT() {
-        return vehicle_depthLAYOUT;
-    }
-
     private static final long vehicle_depth$OFFSET = 48;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double vehicle_depth
-     * }
-     */
-    public static final long vehicle_depth$offset() {
-        return vehicle_depth$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double vehicle_depth
      * }
      */
-    public static double vehicle_depth(MemorySegment struct) {
+    public double vehicle_depth() {
         return struct.get(vehicle_depthLAYOUT, vehicle_depth$OFFSET);
     }
 
@@ -412,41 +247,21 @@ public final class EM3RawSpecific extends StructClass {
      * double vehicle_depth
      * }
      */
-    public static void vehicle_depth(MemorySegment struct, double fieldValue) {
+    public void vehicle_depth(double fieldValue) {
         struct.set(vehicle_depthLAYOUT, vehicle_depth$OFFSET, fieldValue);
     }
 
     private static final OfDouble depth_differenceLAYOUT = (OfDouble)LAYOUT.select(groupElement("depth_difference"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double depth_difference
-     * }
-     */
-    public static final OfDouble depth_differenceLAYOUT() {
-        return depth_differenceLAYOUT;
-    }
-
     private static final long depth_difference$OFFSET = 56;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double depth_difference
-     * }
-     */
-    public static final long depth_difference$offset() {
-        return depth_difference$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double depth_difference
      * }
      */
-    public static double depth_difference(MemorySegment struct) {
+    public double depth_difference() {
         return struct.get(depth_differenceLAYOUT, depth_difference$OFFSET);
     }
 
@@ -456,41 +271,21 @@ public final class EM3RawSpecific extends StructClass {
      * double depth_difference
      * }
      */
-    public static void depth_difference(MemorySegment struct, double fieldValue) {
+    public void depth_difference(double fieldValue) {
         struct.set(depth_differenceLAYOUT, depth_difference$OFFSET, fieldValue);
     }
 
     private static final OfInt offset_multiplierLAYOUT = (OfInt)LAYOUT.select(groupElement("offset_multiplier"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int offset_multiplier
-     * }
-     */
-    public static final OfInt offset_multiplierLAYOUT() {
-        return offset_multiplierLAYOUT;
-    }
-
     private static final long offset_multiplier$OFFSET = 64;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int offset_multiplier
-     * }
-     */
-    public static final long offset_multiplier$offset() {
-        return offset_multiplier$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int offset_multiplier
      * }
      */
-    public static int offset_multiplier(MemorySegment struct) {
+    public int offset_multiplier() {
         return struct.get(offset_multiplierLAYOUT, offset_multiplier$OFFSET);
     }
 
@@ -500,41 +295,21 @@ public final class EM3RawSpecific extends StructClass {
      * int offset_multiplier
      * }
      */
-    public static void offset_multiplier(MemorySegment struct, int fieldValue) {
+    public void offset_multiplier(int fieldValue) {
         struct.set(offset_multiplierLAYOUT, offset_multiplier$OFFSET, fieldValue);
     }
 
     private static final SequenceLayout spare_1LAYOUT = (SequenceLayout)LAYOUT.select(groupElement("spare_1"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char spare_1[16]
-     * }
-     */
-    public static final SequenceLayout spare_1LAYOUT() {
-        return spare_1LAYOUT;
-    }
-
     private static final long spare_1$OFFSET = 68;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char spare_1[16]
-     * }
-     */
-    public static final long spare_1$offset() {
-        return spare_1$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char spare_1[16]
      * }
      */
-    public static MemorySegment spare_1(MemorySegment struct) {
+    public MemorySegment spare_1() {
         return struct.asSlice(spare_1$OFFSET, spare_1LAYOUT.byteSize());
     }
 
@@ -544,21 +319,10 @@ public final class EM3RawSpecific extends StructClass {
      * unsigned char spare_1[16]
      * }
      */
-    public static void spare_1(MemorySegment struct, MemorySegment fieldValue) {
+    public void spare_1(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, spare_1$OFFSET, spare_1LAYOUT.byteSize());
     }
 
-    private static long[] spare_1$DIMS = { 16 };
-
-    /**
-     * Dimensions for array field:
-     * {@snippet lang=c :
-     * unsigned char spare_1[16]
-     * }
-     */
-    public static long[] spare_1$dimensions() {
-        return spare_1$DIMS;
-    }
     private static final VarHandle spare_1$ELEM_HANDLE = spare_1LAYOUT.varHandle(sequenceElement());
 
     /**
@@ -567,7 +331,7 @@ public final class EM3RawSpecific extends StructClass {
      * unsigned char spare_1[16]
      * }
      */
-    public static byte spare_1(MemorySegment struct, long index0) {
+    public byte spare_1(long index0) {
         return (byte)spare_1$ELEM_HANDLE.get(struct, 0L, index0);
     }
 
@@ -577,41 +341,21 @@ public final class EM3RawSpecific extends StructClass {
      * unsigned char spare_1[16]
      * }
      */
-    public static void spare_1(MemorySegment struct, long index0, byte fieldValue) {
+    public void spare_1(long index0, byte fieldValue) {
         spare_1$ELEM_HANDLE.set(struct, 0L, index0, fieldValue);
     }
 
     private static final OfInt transmit_sectorsLAYOUT = (OfInt)LAYOUT.select(groupElement("transmit_sectors"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int transmit_sectors
-     * }
-     */
-    public static final OfInt transmit_sectorsLAYOUT() {
-        return transmit_sectorsLAYOUT;
-    }
-
     private static final long transmit_sectors$OFFSET = 84;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int transmit_sectors
-     * }
-     */
-    public static final long transmit_sectors$offset() {
-        return transmit_sectors$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int transmit_sectors
      * }
      */
-    public static int transmit_sectors(MemorySegment struct) {
+    public int transmit_sectors() {
         return struct.get(transmit_sectorsLAYOUT, transmit_sectors$OFFSET);
     }
 
@@ -621,41 +365,21 @@ public final class EM3RawSpecific extends StructClass {
      * int transmit_sectors
      * }
      */
-    public static void transmit_sectors(MemorySegment struct, int fieldValue) {
+    public void transmit_sectors(int fieldValue) {
         struct.set(transmit_sectorsLAYOUT, transmit_sectors$OFFSET, fieldValue);
     }
 
     private static final SequenceLayout sectorLAYOUT = (SequenceLayout)LAYOUT.select(groupElement("sector"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * t_gsfEM3RawTxSector sector[20]
-     * }
-     */
-    public static final SequenceLayout sectorLAYOUT() {
-        return sectorLAYOUT;
-    }
-
     private static final long sector$OFFSET = 88;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * t_gsfEM3RawTxSector sector[20]
-     * }
-     */
-    public static final long sector$offset() {
-        return sector$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * t_gsfEM3RawTxSector sector[20]
      * }
      */
-    public static MemorySegment sector(MemorySegment struct) {
+    public MemorySegment sector() {
         return struct.asSlice(sector$OFFSET, sectorLAYOUT.byteSize());
     }
 
@@ -665,21 +389,10 @@ public final class EM3RawSpecific extends StructClass {
      * t_gsfEM3RawTxSector sector[20]
      * }
      */
-    public static void sector(MemorySegment struct, MemorySegment fieldValue) {
+    public void sector(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, sector$OFFSET, sectorLAYOUT.byteSize());
     }
 
-    private static long[] sector$DIMS = { 20 };
-
-    /**
-     * Dimensions for array field:
-     * {@snippet lang=c :
-     * t_gsfEM3RawTxSector sector[20]
-     * }
-     */
-    public static long[] sector$dimensions() {
-        return sector$DIMS;
-    }
     private static final MethodHandle sector$ELEM_HANDLE = sectorLAYOUT.sliceHandle(sequenceElement());
 
     /**
@@ -688,7 +401,7 @@ public final class EM3RawSpecific extends StructClass {
      * t_gsfEM3RawTxSector sector[20]
      * }
      */
-    public static MemorySegment sector(MemorySegment struct, long index0) {
+    public MemorySegment sector(long index0) {
         try {
             return (MemorySegment)sector$ELEM_HANDLE.invokeExact(struct, 0L, index0);
         } catch (Throwable ex$) {
@@ -702,41 +415,21 @@ public final class EM3RawSpecific extends StructClass {
      * t_gsfEM3RawTxSector sector[20]
      * }
      */
-    public static void sector(MemorySegment struct, long index0, MemorySegment fieldValue) {
-        MemorySegment.copy(fieldValue, 0L, sector(struct, index0), 0L, EM3RawTxSector.LAYOUT.byteSize());
+    public void sector(long index0, MemorySegment fieldValue) {
+        MemorySegment.copy(fieldValue, 0L, sector(index0), 0L, EM3RawTxSector.LAYOUT.byteSize());
     }
 
     private static final SequenceLayout spare_2LAYOUT = (SequenceLayout)LAYOUT.select(groupElement("spare_2"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char spare_2[16]
-     * }
-     */
-    public static final SequenceLayout spare_2LAYOUT() {
-        return spare_2LAYOUT;
-    }
-
     private static final long spare_2$OFFSET = 1528;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char spare_2[16]
-     * }
-     */
-    public static final long spare_2$offset() {
-        return spare_2$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char spare_2[16]
      * }
      */
-    public static MemorySegment spare_2(MemorySegment struct) {
+    public MemorySegment spare_2() {
         return struct.asSlice(spare_2$OFFSET, spare_2LAYOUT.byteSize());
     }
 
@@ -746,21 +439,10 @@ public final class EM3RawSpecific extends StructClass {
      * unsigned char spare_2[16]
      * }
      */
-    public static void spare_2(MemorySegment struct, MemorySegment fieldValue) {
+    public void spare_2(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, spare_2$OFFSET, spare_2LAYOUT.byteSize());
     }
 
-    private static long[] spare_2$DIMS = { 16 };
-
-    /**
-     * Dimensions for array field:
-     * {@snippet lang=c :
-     * unsigned char spare_2[16]
-     * }
-     */
-    public static long[] spare_2$dimensions() {
-        return spare_2$DIMS;
-    }
     private static final VarHandle spare_2$ELEM_HANDLE = spare_2LAYOUT.varHandle(sequenceElement());
 
     /**
@@ -769,7 +451,7 @@ public final class EM3RawSpecific extends StructClass {
      * unsigned char spare_2[16]
      * }
      */
-    public static byte spare_2(MemorySegment struct, long index0) {
+    public byte spare_2(long index0) {
         return (byte)spare_2$ELEM_HANDLE.get(struct, 0L, index0);
     }
 
@@ -779,41 +461,21 @@ public final class EM3RawSpecific extends StructClass {
      * unsigned char spare_2[16]
      * }
      */
-    public static void spare_2(MemorySegment struct, long index0, byte fieldValue) {
+    public void spare_2(long index0, byte fieldValue) {
         spare_2$ELEM_HANDLE.set(struct, 0L, index0, fieldValue);
     }
 
     private static final GroupLayout run_timeLAYOUT = (GroupLayout)LAYOUT.select(groupElement("run_time"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * t_gsfEMRunTime run_time
-     * }
-     */
-    public static final GroupLayout run_timeLAYOUT() {
-        return run_timeLAYOUT;
-    }
-
     private static final long run_time$OFFSET = 1544;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * t_gsfEMRunTime run_time
-     * }
-     */
-    public static final long run_time$offset() {
-        return run_time$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * t_gsfEMRunTime run_time
      * }
      */
-    public static MemorySegment run_time(MemorySegment struct) {
+    public MemorySegment run_time() {
         return struct.asSlice(run_time$OFFSET, run_timeLAYOUT.byteSize());
     }
 
@@ -823,41 +485,21 @@ public final class EM3RawSpecific extends StructClass {
      * t_gsfEMRunTime run_time
      * }
      */
-    public static void run_time(MemorySegment struct, MemorySegment fieldValue) {
+    public void run_time(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, run_time$OFFSET, run_timeLAYOUT.byteSize());
     }
 
     private static final GroupLayout pu_statusLAYOUT = (GroupLayout)LAYOUT.select(groupElement("pu_status"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * t_gsfEMPUStatus pu_status
-     * }
-     */
-    public static final GroupLayout pu_statusLAYOUT() {
-        return pu_statusLAYOUT;
-    }
-
     private static final long pu_status$OFFSET = 1744;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * t_gsfEMPUStatus pu_status
-     * }
-     */
-    public static final long pu_status$offset() {
-        return pu_status$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * t_gsfEMPUStatus pu_status
      * }
      */
-    public static MemorySegment pu_status(MemorySegment struct) {
+    public MemorySegment pu_status() {
         return struct.asSlice(pu_status$OFFSET, pu_statusLAYOUT.byteSize());
     }
 
@@ -867,9 +509,7 @@ public final class EM3RawSpecific extends StructClass {
      * t_gsfEMPUStatus pu_status
      * }
      */
-    public static void pu_status(MemorySegment struct, MemorySegment fieldValue) {
+    public void pu_status(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, pu_status$OFFSET, pu_statusLAYOUT.byteSize());
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3RawTxSector.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3RawTxSector.java
index c8f774a307..ff6000b248 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3RawTxSector.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3RawTxSector.java
@@ -29,7 +29,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class EM3RawTxSector extends StructClass {
-
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         GSF.C_DOUBLE.withName("tilt_angle"),
         GSF.C_DOUBLE.withName("focus_range"),
@@ -46,10 +45,6 @@ public final class EM3RawTxSector extends StructClass {
         super(struct);
     }
 
-    public EM3RawTxSector(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -57,35 +52,15 @@ public final class EM3RawTxSector extends StructClass {
 
     private static final OfDouble tilt_angleLAYOUT = (OfDouble)LAYOUT.select(groupElement("tilt_angle"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double tilt_angle
-     * }
-     */
-    public static final OfDouble tilt_angleLAYOUT() {
-        return tilt_angleLAYOUT;
-    }
-
     private static final long tilt_angle$OFFSET = 0;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double tilt_angle
-     * }
-     */
-    public static final long tilt_angle$offset() {
-        return tilt_angle$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double tilt_angle
      * }
      */
-    public static double tilt_angle(MemorySegment struct) {
+    public double tilt_angle() {
         return struct.get(tilt_angleLAYOUT, tilt_angle$OFFSET);
     }
 
@@ -95,41 +70,21 @@ public final class EM3RawTxSector extends StructClass {
      * double tilt_angle
      * }
      */
-    public static void tilt_angle(MemorySegment struct, double fieldValue) {
+    public void tilt_angle(double fieldValue) {
         struct.set(tilt_angleLAYOUT, tilt_angle$OFFSET, fieldValue);
     }
 
     private static final OfDouble focus_rangeLAYOUT = (OfDouble)LAYOUT.select(groupElement("focus_range"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double focus_range
-     * }
-     */
-    public static final OfDouble focus_rangeLAYOUT() {
-        return focus_rangeLAYOUT;
-    }
-
     private static final long focus_range$OFFSET = 8;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double focus_range
-     * }
-     */
-    public static final long focus_range$offset() {
-        return focus_range$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double focus_range
      * }
      */
-    public static double focus_range(MemorySegment struct) {
+    public double focus_range() {
         return struct.get(focus_rangeLAYOUT, focus_range$OFFSET);
     }
 
@@ -139,41 +94,21 @@ public final class EM3RawTxSector extends StructClass {
      * double focus_range
      * }
      */
-    public static void focus_range(MemorySegment struct, double fieldValue) {
+    public void focus_range(double fieldValue) {
         struct.set(focus_rangeLAYOUT, focus_range$OFFSET, fieldValue);
     }
 
     private static final OfDouble signal_lengthLAYOUT = (OfDouble)LAYOUT.select(groupElement("signal_length"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double signal_length
-     * }
-     */
-    public static final OfDouble signal_lengthLAYOUT() {
-        return signal_lengthLAYOUT;
-    }
-
     private static final long signal_length$OFFSET = 16;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double signal_length
-     * }
-     */
-    public static final long signal_length$offset() {
-        return signal_length$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double signal_length
      * }
      */
-    public static double signal_length(MemorySegment struct) {
+    public double signal_length() {
         return struct.get(signal_lengthLAYOUT, signal_length$OFFSET);
     }
 
@@ -183,41 +118,21 @@ public final class EM3RawTxSector extends StructClass {
      * double signal_length
      * }
      */
-    public static void signal_length(MemorySegment struct, double fieldValue) {
+    public void signal_length(double fieldValue) {
         struct.set(signal_lengthLAYOUT, signal_length$OFFSET, fieldValue);
     }
 
     private static final OfDouble transmit_delayLAYOUT = (OfDouble)LAYOUT.select(groupElement("transmit_delay"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double transmit_delay
-     * }
-     */
-    public static final OfDouble transmit_delayLAYOUT() {
-        return transmit_delayLAYOUT;
-    }
-
     private static final long transmit_delay$OFFSET = 24;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double transmit_delay
-     * }
-     */
-    public static final long transmit_delay$offset() {
-        return transmit_delay$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double transmit_delay
      * }
      */
-    public static double transmit_delay(MemorySegment struct) {
+    public double transmit_delay() {
         return struct.get(transmit_delayLAYOUT, transmit_delay$OFFSET);
     }
 
@@ -227,41 +142,21 @@ public final class EM3RawTxSector extends StructClass {
      * double transmit_delay
      * }
      */
-    public static void transmit_delay(MemorySegment struct, double fieldValue) {
+    public void transmit_delay(double fieldValue) {
         struct.set(transmit_delayLAYOUT, transmit_delay$OFFSET, fieldValue);
     }
 
     private static final OfDouble center_frequencyLAYOUT = (OfDouble)LAYOUT.select(groupElement("center_frequency"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double center_frequency
-     * }
-     */
-    public static final OfDouble center_frequencyLAYOUT() {
-        return center_frequencyLAYOUT;
-    }
-
     private static final long center_frequency$OFFSET = 32;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double center_frequency
-     * }
-     */
-    public static final long center_frequency$offset() {
-        return center_frequency$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double center_frequency
      * }
      */
-    public static double center_frequency(MemorySegment struct) {
+    public double center_frequency() {
         return struct.get(center_frequencyLAYOUT, center_frequency$OFFSET);
     }
 
@@ -271,41 +166,21 @@ public final class EM3RawTxSector extends StructClass {
      * double center_frequency
      * }
      */
-    public static void center_frequency(MemorySegment struct, double fieldValue) {
+    public void center_frequency(double fieldValue) {
         struct.set(center_frequencyLAYOUT, center_frequency$OFFSET, fieldValue);
     }
 
     private static final OfInt waveform_idLAYOUT = (OfInt)LAYOUT.select(groupElement("waveform_id"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int waveform_id
-     * }
-     */
-    public static final OfInt waveform_idLAYOUT() {
-        return waveform_idLAYOUT;
-    }
-
     private static final long waveform_id$OFFSET = 40;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int waveform_id
-     * }
-     */
-    public static final long waveform_id$offset() {
-        return waveform_id$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int waveform_id
      * }
      */
-    public static int waveform_id(MemorySegment struct) {
+    public int waveform_id() {
         return struct.get(waveform_idLAYOUT, waveform_id$OFFSET);
     }
 
@@ -315,41 +190,21 @@ public final class EM3RawTxSector extends StructClass {
      * int waveform_id
      * }
      */
-    public static void waveform_id(MemorySegment struct, int fieldValue) {
+    public void waveform_id(int fieldValue) {
         struct.set(waveform_idLAYOUT, waveform_id$OFFSET, fieldValue);
     }
 
     private static final OfInt sector_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("sector_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int sector_number
-     * }
-     */
-    public static final OfInt sector_numberLAYOUT() {
-        return sector_numberLAYOUT;
-    }
-
     private static final long sector_number$OFFSET = 44;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int sector_number
-     * }
-     */
-    public static final long sector_number$offset() {
-        return sector_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int sector_number
      * }
      */
-    public static int sector_number(MemorySegment struct) {
+    public int sector_number() {
         return struct.get(sector_numberLAYOUT, sector_number$OFFSET);
     }
 
@@ -359,41 +214,21 @@ public final class EM3RawTxSector extends StructClass {
      * int sector_number
      * }
      */
-    public static void sector_number(MemorySegment struct, int fieldValue) {
+    public void sector_number(int fieldValue) {
         struct.set(sector_numberLAYOUT, sector_number$OFFSET, fieldValue);
     }
 
     private static final OfDouble signal_bandwidthLAYOUT = (OfDouble)LAYOUT.select(groupElement("signal_bandwidth"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double signal_bandwidth
-     * }
-     */
-    public static final OfDouble signal_bandwidthLAYOUT() {
-        return signal_bandwidthLAYOUT;
-    }
-
     private static final long signal_bandwidth$OFFSET = 48;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double signal_bandwidth
-     * }
-     */
-    public static final long signal_bandwidth$offset() {
-        return signal_bandwidth$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double signal_bandwidth
      * }
      */
-    public static double signal_bandwidth(MemorySegment struct) {
+    public double signal_bandwidth() {
         return struct.get(signal_bandwidthLAYOUT, signal_bandwidth$OFFSET);
     }
 
@@ -403,41 +238,21 @@ public final class EM3RawTxSector extends StructClass {
      * double signal_bandwidth
      * }
      */
-    public static void signal_bandwidth(MemorySegment struct, double fieldValue) {
+    public void signal_bandwidth(double fieldValue) {
         struct.set(signal_bandwidthLAYOUT, signal_bandwidth$OFFSET, fieldValue);
     }
 
     private static final SequenceLayout spareLAYOUT = (SequenceLayout)LAYOUT.select(groupElement("spare"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char spare[16]
-     * }
-     */
-    public static final SequenceLayout spareLAYOUT() {
-        return spareLAYOUT;
-    }
-
     private static final long spare$OFFSET = 56;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char spare[16]
-     * }
-     */
-    public static final long spare$offset() {
-        return spare$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char spare[16]
      * }
      */
-    public static MemorySegment spare(MemorySegment struct) {
+    public MemorySegment spare() {
         return struct.asSlice(spare$OFFSET, spareLAYOUT.byteSize());
     }
 
@@ -447,21 +262,10 @@ public final class EM3RawTxSector extends StructClass {
      * unsigned char spare[16]
      * }
      */
-    public static void spare(MemorySegment struct, MemorySegment fieldValue) {
+    public void spare(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, spare$OFFSET, spareLAYOUT.byteSize());
     }
 
-    private static long[] spare$DIMS = { 16 };
-
-    /**
-     * Dimensions for array field:
-     * {@snippet lang=c :
-     * unsigned char spare[16]
-     * }
-     */
-    public static long[] spare$dimensions() {
-        return spare$DIMS;
-    }
     private static final VarHandle spare$ELEM_HANDLE = spareLAYOUT.varHandle(sequenceElement());
 
     /**
@@ -470,7 +274,7 @@ public final class EM3RawTxSector extends StructClass {
      * unsigned char spare[16]
      * }
      */
-    public static byte spare(MemorySegment struct, long index0) {
+    public byte spare(long index0) {
         return (byte)spare$ELEM_HANDLE.get(struct, 0L, index0);
     }
 
@@ -480,9 +284,7 @@ public final class EM3RawTxSector extends StructClass {
      * unsigned char spare[16]
      * }
      */
-    public static void spare(MemorySegment struct, long index0, byte fieldValue) {
+    public void spare(long index0, byte fieldValue) {
         spare$ELEM_HANDLE.set(struct, 0L, index0, fieldValue);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3RunTime.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3RunTime.java
index 8b1ff798c2..30b26a041e 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3RunTime.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3RunTime.java
@@ -29,7 +29,6 @@ import org.apache.sis.storage.gsf.TimeSpec;
  * @author Johann Sorel (Geomatys)
  */
 public final class EM3RunTime extends StructClass {
-
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         GSF.C_INT.withName("model_number"),
         MemoryLayout.paddingLayout(4),
@@ -68,10 +67,6 @@ public final class EM3RunTime extends StructClass {
         super(struct);
     }
 
-    public EM3RunTime(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -79,35 +74,15 @@ public final class EM3RunTime extends StructClass {
 
     private static final OfInt model_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("model_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int model_number
-     * }
-     */
-    public static final OfInt model_numberLAYOUT() {
-        return model_numberLAYOUT;
-    }
-
     private static final long model_number$OFFSET = 0;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int model_number
-     * }
-     */
-    public static final long model_number$offset() {
-        return model_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int model_number
      * }
      */
-    public static int model_number(MemorySegment struct) {
+    public int model_number() {
         return struct.get(model_numberLAYOUT, model_number$OFFSET);
     }
 
@@ -117,41 +92,21 @@ public final class EM3RunTime extends StructClass {
      * int model_number
      * }
      */
-    public static void model_number(MemorySegment struct, int fieldValue) {
+    public void model_number(int fieldValue) {
         struct.set(model_numberLAYOUT, model_number$OFFSET, fieldValue);
     }
 
     private static final GroupLayout dg_timeLAYOUT = (GroupLayout)LAYOUT.select(groupElement("dg_time"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * struct timespec dg_time
-     * }
-     */
-    public static final GroupLayout dg_timeLAYOUT() {
-        return dg_timeLAYOUT;
-    }
-
     private static final long dg_time$OFFSET = 8;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * struct timespec dg_time
-     * }
-     */
-    public static final long dg_time$offset() {
-        return dg_time$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * struct timespec dg_time
      * }
      */
-    public static MemorySegment dg_time(MemorySegment struct) {
+    public MemorySegment dg_time() {
         return struct.asSlice(dg_time$OFFSET, dg_timeLAYOUT.byteSize());
     }
 
@@ -161,41 +116,21 @@ public final class EM3RunTime extends StructClass {
      * struct timespec dg_time
      * }
      */
-    public static void dg_time(MemorySegment struct, MemorySegment fieldValue) {
+    public void dg_time(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, dg_time$OFFSET, dg_timeLAYOUT.byteSize());
     }
 
     private static final OfInt ping_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("ping_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int ping_number
-     * }
-     */
-    public static final OfInt ping_numberLAYOUT() {
-        return ping_numberLAYOUT;
-    }
-
     private static final long ping_number$OFFSET = 24;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int ping_number
-     * }
-     */
-    public static final long ping_number$offset() {
-        return ping_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int ping_number
      * }
      */
-    public static int ping_number(MemorySegment struct) {
+    public int ping_number() {
         return struct.get(ping_numberLAYOUT, ping_number$OFFSET);
     }
 
@@ -205,41 +140,21 @@ public final class EM3RunTime extends StructClass {
      * int ping_number
      * }
      */
-    public static void ping_number(MemorySegment struct, int fieldValue) {
+    public void ping_number(int fieldValue) {
         struct.set(ping_numberLAYOUT, ping_number$OFFSET, fieldValue);
     }
 
     private static final OfInt serial_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("serial_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int serial_number
-     * }
-     */
-    public static final OfInt serial_numberLAYOUT() {
-        return serial_numberLAYOUT;
-    }
-
     private static final long serial_number$OFFSET = 28;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int serial_number
-     * }
-     */
-    public static final long serial_number$offset() {
-        return serial_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int serial_number
      * }
      */
-    public static int serial_number(MemorySegment struct) {
+    public int serial_number() {
         return struct.get(serial_numberLAYOUT, serial_number$OFFSET);
     }
 
@@ -249,41 +164,21 @@ public final class EM3RunTime extends StructClass {
      * int serial_number
      * }
      */
-    public static void serial_number(MemorySegment struct, int fieldValue) {
+    public void serial_number(int fieldValue) {
         struct.set(serial_numberLAYOUT, serial_number$OFFSET, fieldValue);
     }
 
     private static final OfInt system_statusLAYOUT = (OfInt)LAYOUT.select(groupElement("system_status"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int system_status
-     * }
-     */
-    public static final OfInt system_statusLAYOUT() {
-        return system_statusLAYOUT;
-    }
-
     private static final long system_status$OFFSET = 32;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int system_status
-     * }
-     */
-    public static final long system_status$offset() {
-        return system_status$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int system_status
      * }
      */
-    public static int system_status(MemorySegment struct) {
+    public int system_status() {
         return struct.get(system_statusLAYOUT, system_status$OFFSET);
     }
 
@@ -293,41 +188,21 @@ public final class EM3RunTime extends StructClass {
      * int system_status
      * }
      */
-    public static void system_status(MemorySegment struct, int fieldValue) {
+    public void system_status(int fieldValue) {
         struct.set(system_statusLAYOUT, system_status$OFFSET, fieldValue);
     }
 
     private static final OfInt modeLAYOUT = (OfInt)LAYOUT.select(groupElement("mode"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int mode
-     * }
-     */
-    public static final OfInt modeLAYOUT() {
-        return modeLAYOUT;
-    }
-
     private static final long mode$OFFSET = 36;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int mode
-     * }
-     */
-    public static final long mode$offset() {
-        return mode$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int mode
      * }
      */
-    public static int mode(MemorySegment struct) {
+    public int mode() {
         return struct.get(modeLAYOUT, mode$OFFSET);
     }
 
@@ -337,41 +212,21 @@ public final class EM3RunTime extends StructClass {
      * int mode
      * }
      */
-    public static void mode(MemorySegment struct, int fieldValue) {
+    public void mode(int fieldValue) {
         struct.set(modeLAYOUT, mode$OFFSET, fieldValue);
     }
 
     private static final OfInt filter_idLAYOUT = (OfInt)LAYOUT.select(groupElement("filter_id"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int filter_id
-     * }
-     */
-    public static final OfInt filter_idLAYOUT() {
-        return filter_idLAYOUT;
-    }
-
     private static final long filter_id$OFFSET = 40;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int filter_id
-     * }
-     */
-    public static final long filter_id$offset() {
-        return filter_id$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int filter_id
      * }
      */
-    public static int filter_id(MemorySegment struct) {
+    public int filter_id() {
         return struct.get(filter_idLAYOUT, filter_id$OFFSET);
     }
 
@@ -381,41 +236,21 @@ public final class EM3RunTime extends StructClass {
      * int filter_id
      * }
      */
-    public static void filter_id(MemorySegment struct, int fieldValue) {
+    public void filter_id(int fieldValue) {
         struct.set(filter_idLAYOUT, filter_id$OFFSET, fieldValue);
     }
 
     private static final OfDouble min_depthLAYOUT = (OfDouble)LAYOUT.select(groupElement("min_depth"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double min_depth
-     * }
-     */
-    public static final OfDouble min_depthLAYOUT() {
-        return min_depthLAYOUT;
-    }
-
     private static final long min_depth$OFFSET = 48;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double min_depth
-     * }
-     */
-    public static final long min_depth$offset() {
-        return min_depth$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double min_depth
      * }
      */
-    public static double min_depth(MemorySegment struct) {
+    public double min_depth() {
         return struct.get(min_depthLAYOUT, min_depth$OFFSET);
     }
 
@@ -425,41 +260,21 @@ public final class EM3RunTime extends StructClass {
      * double min_depth
      * }
      */
-    public static void min_depth(MemorySegment struct, double fieldValue) {
+    public void min_depth(double fieldValue) {
         struct.set(min_depthLAYOUT, min_depth$OFFSET, fieldValue);
     }
 
     private static final OfDouble max_depthLAYOUT = (OfDouble)LAYOUT.select(groupElement("max_depth"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double max_depth
-     * }
-     */
-    public static final OfDouble max_depthLAYOUT() {
-        return max_depthLAYOUT;
-    }
-
     private static final long max_depth$OFFSET = 56;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double max_depth
-     * }
-     */
-    public static final long max_depth$offset() {
-        return max_depth$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double max_depth
      * }
      */
-    public static double max_depth(MemorySegment struct) {
+    public double max_depth() {
         return struct.get(max_depthLAYOUT, max_depth$OFFSET);
     }
 
@@ -469,41 +284,21 @@ public final class EM3RunTime extends StructClass {
      * double max_depth
      * }
      */
-    public static void max_depth(MemorySegment struct, double fieldValue) {
+    public void max_depth(double fieldValue) {
         struct.set(max_depthLAYOUT, max_depth$OFFSET, fieldValue);
     }
 
     private static final OfDouble absorptionLAYOUT = (OfDouble)LAYOUT.select(groupElement("absorption"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double absorption
-     * }
-     */
-    public static final OfDouble absorptionLAYOUT() {
-        return absorptionLAYOUT;
-    }
-
     private static final long absorption$OFFSET = 64;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double absorption
-     * }
-     */
-    public static final long absorption$offset() {
-        return absorption$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double absorption
      * }
      */
-    public static double absorption(MemorySegment struct) {
+    public double absorption() {
         return struct.get(absorptionLAYOUT, absorption$OFFSET);
     }
 
@@ -513,41 +308,21 @@ public final class EM3RunTime extends StructClass {
      * double absorption
      * }
      */
-    public static void absorption(MemorySegment struct, double fieldValue) {
+    public void absorption(double fieldValue) {
         struct.set(absorptionLAYOUT, absorption$OFFSET, fieldValue);
     }
 
     private static final OfDouble pulse_lengthLAYOUT = (OfDouble)LAYOUT.select(groupElement("pulse_length"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double pulse_length
-     * }
-     */
-    public static final OfDouble pulse_lengthLAYOUT() {
-        return pulse_lengthLAYOUT;
-    }
-
     private static final long pulse_length$OFFSET = 72;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double pulse_length
-     * }
-     */
-    public static final long pulse_length$offset() {
-        return pulse_length$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double pulse_length
      * }
      */
-    public static double pulse_length(MemorySegment struct) {
+    public double pulse_length() {
         return struct.get(pulse_lengthLAYOUT, pulse_length$OFFSET);
     }
 
@@ -557,41 +332,21 @@ public final class EM3RunTime extends StructClass {
      * double pulse_length
      * }
      */
-    public static void pulse_length(MemorySegment struct, double fieldValue) {
+    public void pulse_length(double fieldValue) {
         struct.set(pulse_lengthLAYOUT, pulse_length$OFFSET, fieldValue);
     }
 
     private static final OfDouble transmit_beam_widthLAYOUT = (OfDouble)LAYOUT.select(groupElement("transmit_beam_width"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double transmit_beam_width
-     * }
-     */
-    public static final OfDouble transmit_beam_widthLAYOUT() {
-        return transmit_beam_widthLAYOUT;
-    }
-
     private static final long transmit_beam_width$OFFSET = 80;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double transmit_beam_width
-     * }
-     */
-    public static final long transmit_beam_width$offset() {
-        return transmit_beam_width$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double transmit_beam_width
      * }
      */
-    public static double transmit_beam_width(MemorySegment struct) {
+    public double transmit_beam_width() {
         return struct.get(transmit_beam_widthLAYOUT, transmit_beam_width$OFFSET);
     }
 
@@ -601,41 +356,21 @@ public final class EM3RunTime extends StructClass {
      * double transmit_beam_width
      * }
      */
-    public static void transmit_beam_width(MemorySegment struct, double fieldValue) {
+    public void transmit_beam_width(double fieldValue) {
         struct.set(transmit_beam_widthLAYOUT, transmit_beam_width$OFFSET, fieldValue);
     }
 
     private static final OfInt power_reductionLAYOUT = (OfInt)LAYOUT.select(groupElement("power_reduction"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int power_reduction
-     * }
-     */
-    public static final OfInt power_reductionLAYOUT() {
-        return power_reductionLAYOUT;
-    }
-
     private static final long power_reduction$OFFSET = 88;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int power_reduction
-     * }
-     */
-    public static final long power_reduction$offset() {
-        return power_reduction$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int power_reduction
      * }
      */
-    public static int power_reduction(MemorySegment struct) {
+    public int power_reduction() {
         return struct.get(power_reductionLAYOUT, power_reduction$OFFSET);
     }
 
@@ -645,41 +380,21 @@ public final class EM3RunTime extends StructClass {
      * int power_reduction
      * }
      */
-    public static void power_reduction(MemorySegment struct, int fieldValue) {
+    public void power_reduction(int fieldValue) {
         struct.set(power_reductionLAYOUT, power_reduction$OFFSET, fieldValue);
     }
 
     private static final OfDouble receive_beam_widthLAYOUT = (OfDouble)LAYOUT.select(groupElement("receive_beam_width"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double receive_beam_width
-     * }
-     */
-    public static final OfDouble receive_beam_widthLAYOUT() {
-        return receive_beam_widthLAYOUT;
-    }
-
     private static final long receive_beam_width$OFFSET = 96;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double receive_beam_width
-     * }
-     */
-    public static final long receive_beam_width$offset() {
-        return receive_beam_width$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double receive_beam_width
      * }
      */
-    public static double receive_beam_width(MemorySegment struct) {
+    public double receive_beam_width() {
         return struct.get(receive_beam_widthLAYOUT, receive_beam_width$OFFSET);
     }
 
@@ -689,41 +404,21 @@ public final class EM3RunTime extends StructClass {
      * double receive_beam_width
      * }
      */
-    public static void receive_beam_width(MemorySegment struct, double fieldValue) {
+    public void receive_beam_width(double fieldValue) {
         struct.set(receive_beam_widthLAYOUT, receive_beam_width$OFFSET, fieldValue);
     }
 
     private static final OfInt receive_bandwidthLAYOUT = (OfInt)LAYOUT.select(groupElement("receive_bandwidth"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int receive_bandwidth
-     * }
-     */
-    public static final OfInt receive_bandwidthLAYOUT() {
-        return receive_bandwidthLAYOUT;
-    }
-
     private static final long receive_bandwidth$OFFSET = 104;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int receive_bandwidth
-     * }
-     */
-    public static final long receive_bandwidth$offset() {
-        return receive_bandwidth$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int receive_bandwidth
      * }
      */
-    public static int receive_bandwidth(MemorySegment struct) {
+    public int receive_bandwidth() {
         return struct.get(receive_bandwidthLAYOUT, receive_bandwidth$OFFSET);
     }
 
@@ -733,41 +428,21 @@ public final class EM3RunTime extends StructClass {
      * int receive_bandwidth
      * }
      */
-    public static void receive_bandwidth(MemorySegment struct, int fieldValue) {
+    public void receive_bandwidth(int fieldValue) {
         struct.set(receive_bandwidthLAYOUT, receive_bandwidth$OFFSET, fieldValue);
     }
 
     private static final OfInt receive_gainLAYOUT = (OfInt)LAYOUT.select(groupElement("receive_gain"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int receive_gain
-     * }
-     */
-    public static final OfInt receive_gainLAYOUT() {
-        return receive_gainLAYOUT;
-    }
-
     private static final long receive_gain$OFFSET = 108;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int receive_gain
-     * }
-     */
-    public static final long receive_gain$offset() {
-        return receive_gain$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int receive_gain
      * }
      */
-    public static int receive_gain(MemorySegment struct) {
+    public int receive_gain() {
         return struct.get(receive_gainLAYOUT, receive_gain$OFFSET);
     }
 
@@ -777,41 +452,21 @@ public final class EM3RunTime extends StructClass {
      * int receive_gain
      * }
      */
-    public static void receive_gain(MemorySegment struct, int fieldValue) {
+    public void receive_gain(int fieldValue) {
         struct.set(receive_gainLAYOUT, receive_gain$OFFSET, fieldValue);
     }
 
     private static final OfInt cross_over_angleLAYOUT = (OfInt)LAYOUT.select(groupElement("cross_over_angle"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int cross_over_angle
-     * }
-     */
-    public static final OfInt cross_over_angleLAYOUT() {
-        return cross_over_angleLAYOUT;
-    }
-
     private static final long cross_over_angle$OFFSET = 112;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int cross_over_angle
-     * }
-     */
-    public static final long cross_over_angle$offset() {
-        return cross_over_angle$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int cross_over_angle
      * }
      */
-    public static int cross_over_angle(MemorySegment struct) {
+    public int cross_over_angle() {
         return struct.get(cross_over_angleLAYOUT, cross_over_angle$OFFSET);
     }
 
@@ -821,41 +476,21 @@ public final class EM3RunTime extends StructClass {
      * int cross_over_angle
      * }
      */
-    public static void cross_over_angle(MemorySegment struct, int fieldValue) {
+    public void cross_over_angle(int fieldValue) {
         struct.set(cross_over_angleLAYOUT, cross_over_angle$OFFSET, fieldValue);
     }
 
     private static final OfInt ssv_sourceLAYOUT = (OfInt)LAYOUT.select(groupElement("ssv_source"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int ssv_source
-     * }
-     */
-    public static final OfInt ssv_sourceLAYOUT() {
-        return ssv_sourceLAYOUT;
-    }
-
     private static final long ssv_source$OFFSET = 116;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int ssv_source
-     * }
-     */
-    public static final long ssv_source$offset() {
-        return ssv_source$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int ssv_source
      * }
      */
-    public static int ssv_source(MemorySegment struct) {
+    public int ssv_source() {
         return struct.get(ssv_sourceLAYOUT, ssv_source$OFFSET);
     }
 
@@ -865,41 +500,21 @@ public final class EM3RunTime extends StructClass {
      * int ssv_source
      * }
      */
-    public static void ssv_source(MemorySegment struct, int fieldValue) {
+    public void ssv_source(int fieldValue) {
         struct.set(ssv_sourceLAYOUT, ssv_source$OFFSET, fieldValue);
     }
 
     private static final OfInt swath_widthLAYOUT = (OfInt)LAYOUT.select(groupElement("swath_width"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int swath_width
-     * }
-     */
-    public static final OfInt swath_widthLAYOUT() {
-        return swath_widthLAYOUT;
-    }
-
     private static final long swath_width$OFFSET = 120;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int swath_width
-     * }
-     */
-    public static final long swath_width$offset() {
-        return swath_width$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int swath_width
      * }
      */
-    public static int swath_width(MemorySegment struct) {
+    public int swath_width() {
         return struct.get(swath_widthLAYOUT, swath_width$OFFSET);
     }
 
@@ -909,41 +524,21 @@ public final class EM3RunTime extends StructClass {
      * int swath_width
      * }
      */
-    public static void swath_width(MemorySegment struct, int fieldValue) {
+    public void swath_width(int fieldValue) {
         struct.set(swath_widthLAYOUT, swath_width$OFFSET, fieldValue);
     }
 
     private static final OfInt beam_spacingLAYOUT = (OfInt)LAYOUT.select(groupElement("beam_spacing"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int beam_spacing
-     * }
-     */
-    public static final OfInt beam_spacingLAYOUT() {
-        return beam_spacingLAYOUT;
-    }
-
     private static final long beam_spacing$OFFSET = 124;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int beam_spacing
-     * }
-     */
-    public static final long beam_spacing$offset() {
-        return beam_spacing$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int beam_spacing
      * }
      */
-    public static int beam_spacing(MemorySegment struct) {
+    public int beam_spacing() {
         return struct.get(beam_spacingLAYOUT, beam_spacing$OFFSET);
     }
 
@@ -953,41 +548,21 @@ public final class EM3RunTime extends StructClass {
      * int beam_spacing
      * }
      */
-    public static void beam_spacing(MemorySegment struct, int fieldValue) {
+    public void beam_spacing(int fieldValue) {
         struct.set(beam_spacingLAYOUT, beam_spacing$OFFSET, fieldValue);
     }
 
     private static final OfInt coverage_sectorLAYOUT = (OfInt)LAYOUT.select(groupElement("coverage_sector"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int coverage_sector
-     * }
-     */
-    public static final OfInt coverage_sectorLAYOUT() {
-        return coverage_sectorLAYOUT;
-    }
-
     private static final long coverage_sector$OFFSET = 128;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int coverage_sector
-     * }
-     */
-    public static final long coverage_sector$offset() {
-        return coverage_sector$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int coverage_sector
      * }
      */
-    public static int coverage_sector(MemorySegment struct) {
+    public int coverage_sector() {
         return struct.get(coverage_sectorLAYOUT, coverage_sector$OFFSET);
     }
 
@@ -997,41 +572,21 @@ public final class EM3RunTime extends StructClass {
      * int coverage_sector
      * }
      */
-    public static void coverage_sector(MemorySegment struct, int fieldValue) {
+    public void coverage_sector(int fieldValue) {
         struct.set(coverage_sectorLAYOUT, coverage_sector$OFFSET, fieldValue);
     }
 
     private static final OfInt stabilizationLAYOUT = (OfInt)LAYOUT.select(groupElement("stabilization"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int stabilization
-     * }
-     */
-    public static final OfInt stabilizationLAYOUT() {
-        return stabilizationLAYOUT;
-    }
-
     private static final long stabilization$OFFSET = 132;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int stabilization
-     * }
-     */
-    public static final long stabilization$offset() {
-        return stabilization$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int stabilization
      * }
      */
-    public static int stabilization(MemorySegment struct) {
+    public int stabilization() {
         return struct.get(stabilizationLAYOUT, stabilization$OFFSET);
     }
 
@@ -1041,41 +596,21 @@ public final class EM3RunTime extends StructClass {
      * int stabilization
      * }
      */
-    public static void stabilization(MemorySegment struct, int fieldValue) {
+    public void stabilization(int fieldValue) {
         struct.set(stabilizationLAYOUT, stabilization$OFFSET, fieldValue);
     }
 
     private static final OfInt port_swath_widthLAYOUT = (OfInt)LAYOUT.select(groupElement("port_swath_width"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int port_swath_width
-     * }
-     */
-    public static final OfInt port_swath_widthLAYOUT() {
-        return port_swath_widthLAYOUT;
-    }
-
     private static final long port_swath_width$OFFSET = 136;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int port_swath_width
-     * }
-     */
-    public static final long port_swath_width$offset() {
-        return port_swath_width$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int port_swath_width
      * }
      */
-    public static int port_swath_width(MemorySegment struct) {
+    public int port_swath_width() {
         return struct.get(port_swath_widthLAYOUT, port_swath_width$OFFSET);
     }
 
@@ -1085,41 +620,21 @@ public final class EM3RunTime extends StructClass {
      * int port_swath_width
      * }
      */
-    public static void port_swath_width(MemorySegment struct, int fieldValue) {
+    public void port_swath_width(int fieldValue) {
         struct.set(port_swath_widthLAYOUT, port_swath_width$OFFSET, fieldValue);
     }
 
     private static final OfInt stbd_swath_widthLAYOUT = (OfInt)LAYOUT.select(groupElement("stbd_swath_width"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int stbd_swath_width
-     * }
-     */
-    public static final OfInt stbd_swath_widthLAYOUT() {
-        return stbd_swath_widthLAYOUT;
-    }
-
     private static final long stbd_swath_width$OFFSET = 140;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int stbd_swath_width
-     * }
-     */
-    public static final long stbd_swath_width$offset() {
-        return stbd_swath_width$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int stbd_swath_width
      * }
      */
-    public static int stbd_swath_width(MemorySegment struct) {
+    public int stbd_swath_width() {
         return struct.get(stbd_swath_widthLAYOUT, stbd_swath_width$OFFSET);
     }
 
@@ -1129,41 +644,21 @@ public final class EM3RunTime extends StructClass {
      * int stbd_swath_width
      * }
      */
-    public static void stbd_swath_width(MemorySegment struct, int fieldValue) {
+    public void stbd_swath_width(int fieldValue) {
         struct.set(stbd_swath_widthLAYOUT, stbd_swath_width$OFFSET, fieldValue);
     }
 
     private static final OfInt port_coverage_sectorLAYOUT = (OfInt)LAYOUT.select(groupElement("port_coverage_sector"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int port_coverage_sector
-     * }
-     */
-    public static final OfInt port_coverage_sectorLAYOUT() {
-        return port_coverage_sectorLAYOUT;
-    }
-
     private static final long port_coverage_sector$OFFSET = 144;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int port_coverage_sector
-     * }
-     */
-    public static final long port_coverage_sector$offset() {
-        return port_coverage_sector$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int port_coverage_sector
      * }
      */
-    public static int port_coverage_sector(MemorySegment struct) {
+    public int port_coverage_sector() {
         return struct.get(port_coverage_sectorLAYOUT, port_coverage_sector$OFFSET);
     }
 
@@ -1173,41 +668,21 @@ public final class EM3RunTime extends StructClass {
      * int port_coverage_sector
      * }
      */
-    public static void port_coverage_sector(MemorySegment struct, int fieldValue) {
+    public void port_coverage_sector(int fieldValue) {
         struct.set(port_coverage_sectorLAYOUT, port_coverage_sector$OFFSET, fieldValue);
     }
 
     private static final OfInt stbd_coverage_sectorLAYOUT = (OfInt)LAYOUT.select(groupElement("stbd_coverage_sector"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int stbd_coverage_sector
-     * }
-     */
-    public static final OfInt stbd_coverage_sectorLAYOUT() {
-        return stbd_coverage_sectorLAYOUT;
-    }
-
     private static final long stbd_coverage_sector$OFFSET = 148;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int stbd_coverage_sector
-     * }
-     */
-    public static final long stbd_coverage_sector$offset() {
-        return stbd_coverage_sector$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int stbd_coverage_sector
      * }
      */
-    public static int stbd_coverage_sector(MemorySegment struct) {
+    public int stbd_coverage_sector() {
         return struct.get(stbd_coverage_sectorLAYOUT, stbd_coverage_sector$OFFSET);
     }
 
@@ -1217,41 +692,21 @@ public final class EM3RunTime extends StructClass {
      * int stbd_coverage_sector
      * }
      */
-    public static void stbd_coverage_sector(MemorySegment struct, int fieldValue) {
+    public void stbd_coverage_sector(int fieldValue) {
         struct.set(stbd_coverage_sectorLAYOUT, stbd_coverage_sector$OFFSET, fieldValue);
     }
 
     private static final OfInt hilo_freq_absorp_ratioLAYOUT = (OfInt)LAYOUT.select(groupElement("hilo_freq_absorp_ratio"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int hilo_freq_absorp_ratio
-     * }
-     */
-    public static final OfInt hilo_freq_absorp_ratioLAYOUT() {
-        return hilo_freq_absorp_ratioLAYOUT;
-    }
-
     private static final long hilo_freq_absorp_ratio$OFFSET = 152;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int hilo_freq_absorp_ratio
-     * }
-     */
-    public static final long hilo_freq_absorp_ratio$offset() {
-        return hilo_freq_absorp_ratio$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int hilo_freq_absorp_ratio
      * }
      */
-    public static int hilo_freq_absorp_ratio(MemorySegment struct) {
+    public int hilo_freq_absorp_ratio() {
         return struct.get(hilo_freq_absorp_ratioLAYOUT, hilo_freq_absorp_ratio$OFFSET);
     }
 
@@ -1261,41 +716,21 @@ public final class EM3RunTime extends StructClass {
      * int hilo_freq_absorp_ratio
      * }
      */
-    public static void hilo_freq_absorp_ratio(MemorySegment struct, int fieldValue) {
+    public void hilo_freq_absorp_ratio(int fieldValue) {
         struct.set(hilo_freq_absorp_ratioLAYOUT, hilo_freq_absorp_ratio$OFFSET, fieldValue);
     }
 
     private static final OfInt spare1LAYOUT = (OfInt)LAYOUT.select(groupElement("spare1"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int spare1
-     * }
-     */
-    public static final OfInt spare1LAYOUT() {
-        return spare1LAYOUT;
-    }
-
     private static final long spare1$OFFSET = 156;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int spare1
-     * }
-     */
-    public static final long spare1$offset() {
-        return spare1$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int spare1
      * }
      */
-    public static int spare1(MemorySegment struct) {
+    public int spare1() {
         return struct.get(spare1LAYOUT, spare1$OFFSET);
     }
 
@@ -1305,9 +740,7 @@ public final class EM3RunTime extends StructClass {
      * int spare1
      * }
      */
-    public static void spare1(MemorySegment struct, int fieldValue) {
+    public void spare1(int fieldValue) {
         struct.set(spare1LAYOUT, spare1$OFFSET, fieldValue);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3Specific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3Specific.java
index 268bbff8fc..e834c0aacc 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3Specific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM3Specific.java
@@ -29,7 +29,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class EM3Specific extends StructClass {
-
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         GSF.C_INT.withName("model_number"),
         GSF.C_INT.withName("ping_number"),
@@ -49,10 +48,6 @@ public final class EM3Specific extends StructClass {
         super(struct);
     }
 
-    public EM3Specific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -60,35 +55,15 @@ public final class EM3Specific extends StructClass {
 
     private static final OfInt model_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("model_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int model_number
-     * }
-     */
-    public static final OfInt model_numberLAYOUT() {
-        return model_numberLAYOUT;
-    }
-
     private static final long model_number$OFFSET = 0;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int model_number
-     * }
-     */
-    public static final long model_number$offset() {
-        return model_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int model_number
      * }
      */
-    public static int model_number(MemorySegment struct) {
+    public int model_number() {
         return struct.get(model_numberLAYOUT, model_number$OFFSET);
     }
 
@@ -98,41 +73,21 @@ public final class EM3Specific extends StructClass {
      * int model_number
      * }
      */
-    public static void model_number(MemorySegment struct, int fieldValue) {
+    public void model_number(int fieldValue) {
         struct.set(model_numberLAYOUT, model_number$OFFSET, fieldValue);
     }
 
     private static final OfInt ping_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("ping_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int ping_number
-     * }
-     */
-    public static final OfInt ping_numberLAYOUT() {
-        return ping_numberLAYOUT;
-    }
-
     private static final long ping_number$OFFSET = 4;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int ping_number
-     * }
-     */
-    public static final long ping_number$offset() {
-        return ping_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int ping_number
      * }
      */
-    public static int ping_number(MemorySegment struct) {
+    public int ping_number() {
         return struct.get(ping_numberLAYOUT, ping_number$OFFSET);
     }
 
@@ -142,41 +97,21 @@ public final class EM3Specific extends StructClass {
      * int ping_number
      * }
      */
-    public static void ping_number(MemorySegment struct, int fieldValue) {
+    public void ping_number(int fieldValue) {
         struct.set(ping_numberLAYOUT, ping_number$OFFSET, fieldValue);
     }
 
     private static final OfInt serial_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("serial_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int serial_number
-     * }
-     */
-    public static final OfInt serial_numberLAYOUT() {
-        return serial_numberLAYOUT;
-    }
-
     private static final long serial_number$OFFSET = 8;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int serial_number
-     * }
-     */
-    public static final long serial_number$offset() {
-        return serial_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int serial_number
      * }
      */
-    public static int serial_number(MemorySegment struct) {
+    public int serial_number() {
         return struct.get(serial_numberLAYOUT, serial_number$OFFSET);
     }
 
@@ -186,41 +121,21 @@ public final class EM3Specific extends StructClass {
      * int serial_number
      * }
      */
-    public static void serial_number(MemorySegment struct, int fieldValue) {
+    public void serial_number(int fieldValue) {
         struct.set(serial_numberLAYOUT, serial_number$OFFSET, fieldValue);
     }
 
     private static final OfDouble surface_velocityLAYOUT = (OfDouble)LAYOUT.select(groupElement("surface_velocity"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double surface_velocity
-     * }
-     */
-    public static final OfDouble surface_velocityLAYOUT() {
-        return surface_velocityLAYOUT;
-    }
-
     private static final long surface_velocity$OFFSET = 16;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double surface_velocity
-     * }
-     */
-    public static final long surface_velocity$offset() {
-        return surface_velocity$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double surface_velocity
      * }
      */
-    public static double surface_velocity(MemorySegment struct) {
+    public double surface_velocity() {
         return struct.get(surface_velocityLAYOUT, surface_velocity$OFFSET);
     }
 
@@ -230,41 +145,21 @@ public final class EM3Specific extends StructClass {
      * double surface_velocity
      * }
      */
-    public static void surface_velocity(MemorySegment struct, double fieldValue) {
+    public void surface_velocity(double fieldValue) {
         struct.set(surface_velocityLAYOUT, surface_velocity$OFFSET, fieldValue);
     }
 
     private static final OfDouble transducer_depthLAYOUT = (OfDouble)LAYOUT.select(groupElement("transducer_depth"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double transducer_depth
-     * }
-     */
-    public static final OfDouble transducer_depthLAYOUT() {
-        return transducer_depthLAYOUT;
-    }
-
     private static final long transducer_depth$OFFSET = 24;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double transducer_depth
-     * }
-     */
-    public static final long transducer_depth$offset() {
-        return transducer_depth$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double transducer_depth
      * }
      */
-    public static double transducer_depth(MemorySegment struct) {
+    public double transducer_depth() {
         return struct.get(transducer_depthLAYOUT, transducer_depth$OFFSET);
     }
 
@@ -274,41 +169,21 @@ public final class EM3Specific extends StructClass {
      * double transducer_depth
      * }
      */
-    public static void transducer_depth(MemorySegment struct, double fieldValue) {
+    public void transducer_depth(double fieldValue) {
         struct.set(transducer_depthLAYOUT, transducer_depth$OFFSET, fieldValue);
     }
 
     private static final OfInt valid_beamsLAYOUT = (OfInt)LAYOUT.select(groupElement("valid_beams"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int valid_beams
-     * }
-     */
-    public static final OfInt valid_beamsLAYOUT() {
-        return valid_beamsLAYOUT;
-    }
-
     private static final long valid_beams$OFFSET = 32;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int valid_beams
-     * }
-     */
-    public static final long valid_beams$offset() {
-        return valid_beams$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int valid_beams
      * }
      */
-    public static int valid_beams(MemorySegment struct) {
+    public int valid_beams() {
         return struct.get(valid_beamsLAYOUT, valid_beams$OFFSET);
     }
 
@@ -318,41 +193,21 @@ public final class EM3Specific extends StructClass {
      * int valid_beams
      * }
      */
-    public static void valid_beams(MemorySegment struct, int fieldValue) {
+    public void valid_beams(int fieldValue) {
         struct.set(valid_beamsLAYOUT, valid_beams$OFFSET, fieldValue);
     }
 
     private static final OfInt sample_rateLAYOUT = (OfInt)LAYOUT.select(groupElement("sample_rate"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int sample_rate
-     * }
-     */
-    public static final OfInt sample_rateLAYOUT() {
-        return sample_rateLAYOUT;
-    }
-
     private static final long sample_rate$OFFSET = 36;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int sample_rate
-     * }
-     */
-    public static final long sample_rate$offset() {
-        return sample_rate$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int sample_rate
      * }
      */
-    public static int sample_rate(MemorySegment struct) {
+    public int sample_rate() {
         return struct.get(sample_rateLAYOUT, sample_rate$OFFSET);
     }
 
@@ -362,41 +217,21 @@ public final class EM3Specific extends StructClass {
      * int sample_rate
      * }
      */
-    public static void sample_rate(MemorySegment struct, int fieldValue) {
+    public void sample_rate(int fieldValue) {
         struct.set(sample_rateLAYOUT, sample_rate$OFFSET, fieldValue);
     }
 
     private static final OfDouble depth_differenceLAYOUT = (OfDouble)LAYOUT.select(groupElement("depth_difference"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double depth_difference
-     * }
-     */
-    public static final OfDouble depth_differenceLAYOUT() {
-        return depth_differenceLAYOUT;
-    }
-
     private static final long depth_difference$OFFSET = 40;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double depth_difference
-     * }
-     */
-    public static final long depth_difference$offset() {
-        return depth_difference$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double depth_difference
      * }
      */
-    public static double depth_difference(MemorySegment struct) {
+    public double depth_difference() {
         return struct.get(depth_differenceLAYOUT, depth_difference$OFFSET);
     }
 
@@ -406,41 +241,21 @@ public final class EM3Specific extends StructClass {
      * double depth_difference
      * }
      */
-    public static void depth_difference(MemorySegment struct, double fieldValue) {
+    public void depth_difference(double fieldValue) {
         struct.set(depth_differenceLAYOUT, depth_difference$OFFSET, fieldValue);
     }
 
     private static final OfInt offset_multiplierLAYOUT = (OfInt)LAYOUT.select(groupElement("offset_multiplier"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int offset_multiplier
-     * }
-     */
-    public static final OfInt offset_multiplierLAYOUT() {
-        return offset_multiplierLAYOUT;
-    }
-
     private static final long offset_multiplier$OFFSET = 48;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int offset_multiplier
-     * }
-     */
-    public static final long offset_multiplier$offset() {
-        return offset_multiplier$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int offset_multiplier
      * }
      */
-    public static int offset_multiplier(MemorySegment struct) {
+    public int offset_multiplier() {
         return struct.get(offset_multiplierLAYOUT, offset_multiplier$OFFSET);
     }
 
@@ -450,41 +265,21 @@ public final class EM3Specific extends StructClass {
      * int offset_multiplier
      * }
      */
-    public static void offset_multiplier(MemorySegment struct, int fieldValue) {
+    public void offset_multiplier(int fieldValue) {
         struct.set(offset_multiplierLAYOUT, offset_multiplier$OFFSET, fieldValue);
     }
 
     private static final SequenceLayout run_timeLAYOUT = (SequenceLayout)LAYOUT.select(groupElement("run_time"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * gsfEM3RunTime run_time[2]
-     * }
-     */
-    public static final SequenceLayout run_timeLAYOUT() {
-        return run_timeLAYOUT;
-    }
-
     private static final long run_time$OFFSET = 56;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * gsfEM3RunTime run_time[2]
-     * }
-     */
-    public static final long run_time$offset() {
-        return run_time$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * gsfEM3RunTime run_time[2]
      * }
      */
-    public static MemorySegment run_time(MemorySegment struct) {
+    public MemorySegment run_time() {
         return struct.asSlice(run_time$OFFSET, run_timeLAYOUT.byteSize());
     }
 
@@ -494,21 +289,10 @@ public final class EM3Specific extends StructClass {
      * gsfEM3RunTime run_time[2]
      * }
      */
-    public static void run_time(MemorySegment struct, MemorySegment fieldValue) {
+    public void run_time(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, run_time$OFFSET, run_timeLAYOUT.byteSize());
     }
 
-    private static long[] run_time$DIMS = { 2 };
-
-    /**
-     * Dimensions for array field:
-     * {@snippet lang=c :
-     * gsfEM3RunTime run_time[2]
-     * }
-     */
-    public static long[] run_time$dimensions() {
-        return run_time$DIMS;
-    }
     private static final MethodHandle run_time$ELEM_HANDLE = run_timeLAYOUT.sliceHandle(sequenceElement());
 
     /**
@@ -517,7 +301,7 @@ public final class EM3Specific extends StructClass {
      * gsfEM3RunTime run_time[2]
      * }
      */
-    public static MemorySegment run_time(MemorySegment struct, long index0) {
+    public MemorySegment run_time(long index0) {
         try {
             return (MemorySegment)run_time$ELEM_HANDLE.invokeExact(struct, 0L, index0);
         } catch (Throwable ex$) {
@@ -531,9 +315,7 @@ public final class EM3Specific extends StructClass {
      * gsfEM3RunTime run_time[2]
      * }
      */
-    public static void run_time(MemorySegment struct, long index0, MemorySegment fieldValue) {
-        MemorySegment.copy(fieldValue, 0L, run_time(struct, index0), 0L, EM3RunTime.LAYOUT.byteSize());
+    public void run_time(long index0, MemorySegment fieldValue) {
+        MemorySegment.copy(fieldValue, 0L, run_time(index0), 0L, EM3RunTime.LAYOUT.byteSize());
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM4ImagerySpecific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM4ImagerySpecific.java
index b1121d08b9..5472d74846 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM4ImagerySpecific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM4ImagerySpecific.java
@@ -29,8 +29,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class EM4ImagerySpecific extends StructClass {
-
-
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         GSF.C_DOUBLE.withName("sampling_frequency"),
         GSF.C_DOUBLE.withName("mean_absorption"),
@@ -52,10 +50,6 @@ public final class EM4ImagerySpecific extends StructClass {
         super(struct);
     }
 
-    public EM4ImagerySpecific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -63,35 +57,15 @@ public final class EM4ImagerySpecific extends StructClass {
 
     private static final OfDouble sampling_frequencyLAYOUT = (OfDouble)LAYOUT.select(groupElement("sampling_frequency"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double sampling_frequency
-     * }
-     */
-    public static final OfDouble sampling_frequencyLAYOUT() {
-        return sampling_frequencyLAYOUT;
-    }
-
     private static final long sampling_frequency$OFFSET = 0;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double sampling_frequency
-     * }
-     */
-    public static final long sampling_frequency$offset() {
-        return sampling_frequency$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double sampling_frequency
      * }
      */
-    public static double sampling_frequency(MemorySegment struct) {
+    public double sampling_frequency() {
         return struct.get(sampling_frequencyLAYOUT, sampling_frequency$OFFSET);
     }
 
@@ -101,41 +75,21 @@ public final class EM4ImagerySpecific extends StructClass {
      * double sampling_frequency
      * }
      */
-    public static void sampling_frequency(MemorySegment struct, double fieldValue) {
+    public void sampling_frequency(double fieldValue) {
         struct.set(sampling_frequencyLAYOUT, sampling_frequency$OFFSET, fieldValue);
     }
 
     private static final OfDouble mean_absorptionLAYOUT = (OfDouble)LAYOUT.select(groupElement("mean_absorption"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double mean_absorption
-     * }
-     */
-    public static final OfDouble mean_absorptionLAYOUT() {
-        return mean_absorptionLAYOUT;
-    }
-
     private static final long mean_absorption$OFFSET = 8;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double mean_absorption
-     * }
-     */
-    public static final long mean_absorption$offset() {
-        return mean_absorption$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double mean_absorption
      * }
      */
-    public static double mean_absorption(MemorySegment struct) {
+    public double mean_absorption() {
         return struct.get(mean_absorptionLAYOUT, mean_absorption$OFFSET);
     }
 
@@ -145,41 +99,21 @@ public final class EM4ImagerySpecific extends StructClass {
      * double mean_absorption
      * }
      */
-    public static void mean_absorption(MemorySegment struct, double fieldValue) {
+    public void mean_absorption(double fieldValue) {
         struct.set(mean_absorptionLAYOUT, mean_absorption$OFFSET, fieldValue);
     }
 
     private static final OfDouble tx_pulse_lengthLAYOUT = (OfDouble)LAYOUT.select(groupElement("tx_pulse_length"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double tx_pulse_length
-     * }
-     */
-    public static final OfDouble tx_pulse_lengthLAYOUT() {
-        return tx_pulse_lengthLAYOUT;
-    }
-
     private static final long tx_pulse_length$OFFSET = 16;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double tx_pulse_length
-     * }
-     */
-    public static final long tx_pulse_length$offset() {
-        return tx_pulse_length$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double tx_pulse_length
      * }
      */
-    public static double tx_pulse_length(MemorySegment struct) {
+    public double tx_pulse_length() {
         return struct.get(tx_pulse_lengthLAYOUT, tx_pulse_length$OFFSET);
     }
 
@@ -189,41 +123,21 @@ public final class EM4ImagerySpecific extends StructClass {
      * double tx_pulse_length
      * }
      */
-    public static void tx_pulse_length(MemorySegment struct, double fieldValue) {
+    public void tx_pulse_length(double fieldValue) {
         struct.set(tx_pulse_lengthLAYOUT, tx_pulse_length$OFFSET, fieldValue);
     }
 
     private static final OfInt range_normLAYOUT = (OfInt)LAYOUT.select(groupElement("range_norm"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int range_norm
-     * }
-     */
-    public static final OfInt range_normLAYOUT() {
-        return range_normLAYOUT;
-    }
-
     private static final long range_norm$OFFSET = 24;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int range_norm
-     * }
-     */
-    public static final long range_norm$offset() {
-        return range_norm$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int range_norm
      * }
      */
-    public static int range_norm(MemorySegment struct) {
+    public int range_norm() {
         return struct.get(range_normLAYOUT, range_norm$OFFSET);
     }
 
@@ -233,41 +147,21 @@ public final class EM4ImagerySpecific extends StructClass {
      * int range_norm
      * }
      */
-    public static void range_norm(MemorySegment struct, int fieldValue) {
+    public void range_norm(int fieldValue) {
         struct.set(range_normLAYOUT, range_norm$OFFSET, fieldValue);
     }
 
     private static final OfInt start_tvg_rampLAYOUT = (OfInt)LAYOUT.select(groupElement("start_tvg_ramp"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int start_tvg_ramp
-     * }
-     */
-    public static final OfInt start_tvg_rampLAYOUT() {
-        return start_tvg_rampLAYOUT;
-    }
-
     private static final long start_tvg_ramp$OFFSET = 28;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int start_tvg_ramp
-     * }
-     */
-    public static final long start_tvg_ramp$offset() {
-        return start_tvg_ramp$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int start_tvg_ramp
      * }
      */
-    public static int start_tvg_ramp(MemorySegment struct) {
+    public int start_tvg_ramp() {
         return struct.get(start_tvg_rampLAYOUT, start_tvg_ramp$OFFSET);
     }
 
@@ -277,41 +171,21 @@ public final class EM4ImagerySpecific extends StructClass {
      * int start_tvg_ramp
      * }
      */
-    public static void start_tvg_ramp(MemorySegment struct, int fieldValue) {
+    public void start_tvg_ramp(int fieldValue) {
         struct.set(start_tvg_rampLAYOUT, start_tvg_ramp$OFFSET, fieldValue);
     }
 
     private static final OfInt stop_tvg_rampLAYOUT = (OfInt)LAYOUT.select(groupElement("stop_tvg_ramp"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int stop_tvg_ramp
-     * }
-     */
-    public static final OfInt stop_tvg_rampLAYOUT() {
-        return stop_tvg_rampLAYOUT;
-    }
-
     private static final long stop_tvg_ramp$OFFSET = 32;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int stop_tvg_ramp
-     * }
-     */
-    public static final long stop_tvg_ramp$offset() {
-        return stop_tvg_ramp$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int stop_tvg_ramp
      * }
      */
-    public static int stop_tvg_ramp(MemorySegment struct) {
+    public int stop_tvg_ramp() {
         return struct.get(stop_tvg_rampLAYOUT, stop_tvg_ramp$OFFSET);
     }
 
@@ -321,41 +195,21 @@ public final class EM4ImagerySpecific extends StructClass {
      * int stop_tvg_ramp
      * }
      */
-    public static void stop_tvg_ramp(MemorySegment struct, int fieldValue) {
+    public void stop_tvg_ramp(int fieldValue) {
         struct.set(stop_tvg_rampLAYOUT, stop_tvg_ramp$OFFSET, fieldValue);
     }
 
     private static final OfDouble bsnLAYOUT = (OfDouble)LAYOUT.select(groupElement("bsn"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double bsn
-     * }
-     */
-    public static final OfDouble bsnLAYOUT() {
-        return bsnLAYOUT;
-    }
-
     private static final long bsn$OFFSET = 40;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double bsn
-     * }
-     */
-    public static final long bsn$offset() {
-        return bsn$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double bsn
      * }
      */
-    public static double bsn(MemorySegment struct) {
+    public double bsn() {
         return struct.get(bsnLAYOUT, bsn$OFFSET);
     }
 
@@ -365,41 +219,21 @@ public final class EM4ImagerySpecific extends StructClass {
      * double bsn
      * }
      */
-    public static void bsn(MemorySegment struct, double fieldValue) {
+    public void bsn(double fieldValue) {
         struct.set(bsnLAYOUT, bsn$OFFSET, fieldValue);
     }
 
     private static final OfDouble bsoLAYOUT = (OfDouble)LAYOUT.select(groupElement("bso"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double bso
-     * }
-     */
-    public static final OfDouble bsoLAYOUT() {
-        return bsoLAYOUT;
-    }
-
     private static final long bso$OFFSET = 48;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double bso
-     * }
-     */
-    public static final long bso$offset() {
-        return bso$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double bso
      * }
      */
-    public static double bso(MemorySegment struct) {
+    public double bso() {
         return struct.get(bsoLAYOUT, bso$OFFSET);
     }
 
@@ -409,41 +243,21 @@ public final class EM4ImagerySpecific extends StructClass {
      * double bso
      * }
      */
-    public static void bso(MemorySegment struct, double fieldValue) {
+    public void bso(double fieldValue) {
         struct.set(bsoLAYOUT, bso$OFFSET, fieldValue);
     }
 
     private static final OfDouble tx_beam_widthLAYOUT = (OfDouble)LAYOUT.select(groupElement("tx_beam_width"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double tx_beam_width
-     * }
-     */
-    public static final OfDouble tx_beam_widthLAYOUT() {
-        return tx_beam_widthLAYOUT;
-    }
-
     private static final long tx_beam_width$OFFSET = 56;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double tx_beam_width
-     * }
-     */
-    public static final long tx_beam_width$offset() {
-        return tx_beam_width$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double tx_beam_width
      * }
      */
-    public static double tx_beam_width(MemorySegment struct) {
+    public double tx_beam_width() {
         return struct.get(tx_beam_widthLAYOUT, tx_beam_width$OFFSET);
     }
 
@@ -453,41 +267,21 @@ public final class EM4ImagerySpecific extends StructClass {
      * double tx_beam_width
      * }
      */
-    public static void tx_beam_width(MemorySegment struct, double fieldValue) {
+    public void tx_beam_width(double fieldValue) {
         struct.set(tx_beam_widthLAYOUT, tx_beam_width$OFFSET, fieldValue);
     }
 
     private static final OfDouble tvg_cross_overLAYOUT = (OfDouble)LAYOUT.select(groupElement("tvg_cross_over"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double tvg_cross_over
-     * }
-     */
-    public static final OfDouble tvg_cross_overLAYOUT() {
-        return tvg_cross_overLAYOUT;
-    }
-
     private static final long tvg_cross_over$OFFSET = 64;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double tvg_cross_over
-     * }
-     */
-    public static final long tvg_cross_over$offset() {
-        return tvg_cross_over$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double tvg_cross_over
      * }
      */
-    public static double tvg_cross_over(MemorySegment struct) {
+    public double tvg_cross_over() {
         return struct.get(tvg_cross_overLAYOUT, tvg_cross_over$OFFSET);
     }
 
@@ -497,41 +291,21 @@ public final class EM4ImagerySpecific extends StructClass {
      * double tvg_cross_over
      * }
      */
-    public static void tvg_cross_over(MemorySegment struct, double fieldValue) {
+    public void tvg_cross_over(double fieldValue) {
         struct.set(tvg_cross_overLAYOUT, tvg_cross_over$OFFSET, fieldValue);
     }
 
     private static final OfShort offsetLAYOUT = (OfShort)LAYOUT.select(groupElement("offset"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * short offset
-     * }
-     */
-    public static final OfShort offsetLAYOUT() {
-        return offsetLAYOUT;
-    }
-
     private static final long offset$OFFSET = 72;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * short offset
-     * }
-     */
-    public static final long offset$offset() {
-        return offset$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * short offset
      * }
      */
-    public static short offset(MemorySegment struct) {
+    public short offset() {
         return struct.get(offsetLAYOUT, offset$OFFSET);
     }
 
@@ -541,41 +315,21 @@ public final class EM4ImagerySpecific extends StructClass {
      * short offset
      * }
      */
-    public static void offset(MemorySegment struct, short fieldValue) {
+    public void offset(short fieldValue) {
         struct.set(offsetLAYOUT, offset$OFFSET, fieldValue);
     }
 
     private static final OfShort scaleLAYOUT = (OfShort)LAYOUT.select(groupElement("scale"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * short scale
-     * }
-     */
-    public static final OfShort scaleLAYOUT() {
-        return scaleLAYOUT;
-    }
-
     private static final long scale$OFFSET = 74;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * short scale
-     * }
-     */
-    public static final long scale$offset() {
-        return scale$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * short scale
      * }
      */
-    public static short scale(MemorySegment struct) {
+    public short scale() {
         return struct.get(scaleLAYOUT, scale$OFFSET);
     }
 
@@ -585,41 +339,21 @@ public final class EM4ImagerySpecific extends StructClass {
      * short scale
      * }
      */
-    public static void scale(MemorySegment struct, short fieldValue) {
+    public void scale(short fieldValue) {
         struct.set(scaleLAYOUT, scale$OFFSET, fieldValue);
     }
 
     private static final SequenceLayout spareLAYOUT = (SequenceLayout)LAYOUT.select(groupElement("spare"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char spare[20]
-     * }
-     */
-    public static final SequenceLayout spareLAYOUT() {
-        return spareLAYOUT;
-    }
-
     private static final long spare$OFFSET = 76;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char spare[20]
-     * }
-     */
-    public static final long spare$offset() {
-        return spare$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char spare[20]
      * }
      */
-    public static MemorySegment spare(MemorySegment struct) {
+    public MemorySegment spare() {
         return struct.asSlice(spare$OFFSET, spareLAYOUT.byteSize());
     }
 
@@ -629,21 +363,10 @@ public final class EM4ImagerySpecific extends StructClass {
      * unsigned char spare[20]
      * }
      */
-    public static void spare(MemorySegment struct, MemorySegment fieldValue) {
+    public void spare(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, spare$OFFSET, spareLAYOUT.byteSize());
     }
 
-    private static long[] spare$DIMS = { 20 };
-
-    /**
-     * Dimensions for array field:
-     * {@snippet lang=c :
-     * unsigned char spare[20]
-     * }
-     */
-    public static long[] spare$dimensions() {
-        return spare$DIMS;
-    }
     private static final VarHandle spare$ELEM_HANDLE = spareLAYOUT.varHandle(sequenceElement());
 
     /**
@@ -652,7 +375,7 @@ public final class EM4ImagerySpecific extends StructClass {
      * unsigned char spare[20]
      * }
      */
-    public static byte spare(MemorySegment struct, long index0) {
+    public byte spare(long index0) {
         return (byte)spare$ELEM_HANDLE.get(struct, 0L, index0);
     }
 
@@ -662,9 +385,7 @@ public final class EM4ImagerySpecific extends StructClass {
      * unsigned char spare[20]
      * }
      */
-    public static void spare(MemorySegment struct, long index0, byte fieldValue) {
+    public void spare(long index0, byte fieldValue) {
         spare$ELEM_HANDLE.set(struct, 0L, index0, fieldValue);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM4Specific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM4Specific.java
index 9fd9a2fa07..534c4e2b55 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM4Specific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM4Specific.java
@@ -29,7 +29,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class EM4Specific extends StructClass {
-
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         GSF.C_INT.withName("model_number"),
         GSF.C_INT.withName("ping_counter"),
@@ -56,10 +55,6 @@ public final class EM4Specific extends StructClass {
         super(struct);
     }
 
-    public EM4Specific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -67,35 +62,15 @@ public final class EM4Specific extends StructClass {
 
     private static final OfInt model_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("model_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int model_number
-     * }
-     */
-    public static final OfInt model_numberLAYOUT() {
-        return model_numberLAYOUT;
-    }
-
     private static final long model_number$OFFSET = 0;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int model_number
-     * }
-     */
-    public static final long model_number$offset() {
-        return model_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int model_number
      * }
      */
-    public static int model_number(MemorySegment struct) {
+    public int model_number() {
         return struct.get(model_numberLAYOUT, model_number$OFFSET);
     }
 
@@ -105,41 +80,21 @@ public final class EM4Specific extends StructClass {
      * int model_number
      * }
      */
-    public static void model_number(MemorySegment struct, int fieldValue) {
+    public void model_number(int fieldValue) {
         struct.set(model_numberLAYOUT, model_number$OFFSET, fieldValue);
     }
 
     private static final OfInt ping_counterLAYOUT = (OfInt)LAYOUT.select(groupElement("ping_counter"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int ping_counter
-     * }
-     */
-    public static final OfInt ping_counterLAYOUT() {
-        return ping_counterLAYOUT;
-    }
-
     private static final long ping_counter$OFFSET = 4;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int ping_counter
-     * }
-     */
-    public static final long ping_counter$offset() {
-        return ping_counter$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int ping_counter
      * }
      */
-    public static int ping_counter(MemorySegment struct) {
+    public int ping_counter() {
         return struct.get(ping_counterLAYOUT, ping_counter$OFFSET);
     }
 
@@ -149,41 +104,21 @@ public final class EM4Specific extends StructClass {
      * int ping_counter
      * }
      */
-    public static void ping_counter(MemorySegment struct, int fieldValue) {
+    public void ping_counter(int fieldValue) {
         struct.set(ping_counterLAYOUT, ping_counter$OFFSET, fieldValue);
     }
 
     private static final OfInt serial_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("serial_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int serial_number
-     * }
-     */
-    public static final OfInt serial_numberLAYOUT() {
-        return serial_numberLAYOUT;
-    }
-
     private static final long serial_number$OFFSET = 8;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int serial_number
-     * }
-     */
-    public static final long serial_number$offset() {
-        return serial_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int serial_number
      * }
      */
-    public static int serial_number(MemorySegment struct) {
+    public int serial_number() {
         return struct.get(serial_numberLAYOUT, serial_number$OFFSET);
     }
 
@@ -193,41 +128,21 @@ public final class EM4Specific extends StructClass {
      * int serial_number
      * }
      */
-    public static void serial_number(MemorySegment struct, int fieldValue) {
+    public void serial_number(int fieldValue) {
         struct.set(serial_numberLAYOUT, serial_number$OFFSET, fieldValue);
     }
 
     private static final OfDouble surface_velocityLAYOUT = (OfDouble)LAYOUT.select(groupElement("surface_velocity"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double surface_velocity
-     * }
-     */
-    public static final OfDouble surface_velocityLAYOUT() {
-        return surface_velocityLAYOUT;
-    }
-
     private static final long surface_velocity$OFFSET = 16;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double surface_velocity
-     * }
-     */
-    public static final long surface_velocity$offset() {
-        return surface_velocity$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double surface_velocity
      * }
      */
-    public static double surface_velocity(MemorySegment struct) {
+    public double surface_velocity() {
         return struct.get(surface_velocityLAYOUT, surface_velocity$OFFSET);
     }
 
@@ -237,41 +152,21 @@ public final class EM4Specific extends StructClass {
      * double surface_velocity
      * }
      */
-    public static void surface_velocity(MemorySegment struct, double fieldValue) {
+    public void surface_velocity(double fieldValue) {
         struct.set(surface_velocityLAYOUT, surface_velocity$OFFSET, fieldValue);
     }
 
     private static final OfDouble transducer_depthLAYOUT = (OfDouble)LAYOUT.select(groupElement("transducer_depth"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double transducer_depth
-     * }
-     */
-    public static final OfDouble transducer_depthLAYOUT() {
-        return transducer_depthLAYOUT;
-    }
-
     private static final long transducer_depth$OFFSET = 24;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double transducer_depth
-     * }
-     */
-    public static final long transducer_depth$offset() {
-        return transducer_depth$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double transducer_depth
      * }
      */
-    public static double transducer_depth(MemorySegment struct) {
+    public double transducer_depth() {
         return struct.get(transducer_depthLAYOUT, transducer_depth$OFFSET);
     }
 
@@ -281,41 +176,21 @@ public final class EM4Specific extends StructClass {
      * double transducer_depth
      * }
      */
-    public static void transducer_depth(MemorySegment struct, double fieldValue) {
+    public void transducer_depth(double fieldValue) {
         struct.set(transducer_depthLAYOUT, transducer_depth$OFFSET, fieldValue);
     }
 
     private static final OfInt valid_detectionsLAYOUT = (OfInt)LAYOUT.select(groupElement("valid_detections"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int valid_detections
-     * }
-     */
-    public static final OfInt valid_detectionsLAYOUT() {
-        return valid_detectionsLAYOUT;
-    }
-
     private static final long valid_detections$OFFSET = 32;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int valid_detections
-     * }
-     */
-    public static final long valid_detections$offset() {
-        return valid_detections$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int valid_detections
      * }
      */
-    public static int valid_detections(MemorySegment struct) {
+    public int valid_detections() {
         return struct.get(valid_detectionsLAYOUT, valid_detections$OFFSET);
     }
 
@@ -325,41 +200,21 @@ public final class EM4Specific extends StructClass {
      * int valid_detections
      * }
      */
-    public static void valid_detections(MemorySegment struct, int fieldValue) {
+    public void valid_detections(int fieldValue) {
         struct.set(valid_detectionsLAYOUT, valid_detections$OFFSET, fieldValue);
     }
 
     private static final OfDouble sampling_frequencyLAYOUT = (OfDouble)LAYOUT.select(groupElement("sampling_frequency"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double sampling_frequency
-     * }
-     */
-    public static final OfDouble sampling_frequencyLAYOUT() {
-        return sampling_frequencyLAYOUT;
-    }
-
     private static final long sampling_frequency$OFFSET = 40;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double sampling_frequency
-     * }
-     */
-    public static final long sampling_frequency$offset() {
-        return sampling_frequency$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double sampling_frequency
      * }
      */
-    public static double sampling_frequency(MemorySegment struct) {
+    public double sampling_frequency() {
         return struct.get(sampling_frequencyLAYOUT, sampling_frequency$OFFSET);
     }
 
@@ -369,41 +224,21 @@ public final class EM4Specific extends StructClass {
      * double sampling_frequency
      * }
      */
-    public static void sampling_frequency(MemorySegment struct, double fieldValue) {
+    public void sampling_frequency(double fieldValue) {
         struct.set(sampling_frequencyLAYOUT, sampling_frequency$OFFSET, fieldValue);
     }
 
     private static final OfInt doppler_corr_scaleLAYOUT = (OfInt)LAYOUT.select(groupElement("doppler_corr_scale"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned int doppler_corr_scale
-     * }
-     */
-    public static final OfInt doppler_corr_scaleLAYOUT() {
-        return doppler_corr_scaleLAYOUT;
-    }
-
     private static final long doppler_corr_scale$OFFSET = 48;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned int doppler_corr_scale
-     * }
-     */
-    public static final long doppler_corr_scale$offset() {
-        return doppler_corr_scale$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned int doppler_corr_scale
      * }
      */
-    public static int doppler_corr_scale(MemorySegment struct) {
+    public int doppler_corr_scale() {
         return struct.get(doppler_corr_scaleLAYOUT, doppler_corr_scale$OFFSET);
     }
 
@@ -413,41 +248,21 @@ public final class EM4Specific extends StructClass {
      * unsigned int doppler_corr_scale
      * }
      */
-    public static void doppler_corr_scale(MemorySegment struct, int fieldValue) {
+    public void doppler_corr_scale(int fieldValue) {
         struct.set(doppler_corr_scaleLAYOUT, doppler_corr_scale$OFFSET, fieldValue);
     }
 
     private static final OfDouble vehicle_depthLAYOUT = (OfDouble)LAYOUT.select(groupElement("vehicle_depth"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double vehicle_depth
-     * }
-     */
-    public static final OfDouble vehicle_depthLAYOUT() {
-        return vehicle_depthLAYOUT;
-    }
-
     private static final long vehicle_depth$OFFSET = 56;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double vehicle_depth
-     * }
-     */
-    public static final long vehicle_depth$offset() {
-        return vehicle_depth$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double vehicle_depth
      * }
      */
-    public static double vehicle_depth(MemorySegment struct) {
+    public double vehicle_depth() {
         return struct.get(vehicle_depthLAYOUT, vehicle_depth$OFFSET);
     }
 
@@ -457,41 +272,21 @@ public final class EM4Specific extends StructClass {
      * double vehicle_depth
      * }
      */
-    public static void vehicle_depth(MemorySegment struct, double fieldValue) {
+    public void vehicle_depth(double fieldValue) {
         struct.set(vehicle_depthLAYOUT, vehicle_depth$OFFSET, fieldValue);
     }
 
     private static final SequenceLayout spare_1LAYOUT = (SequenceLayout)LAYOUT.select(groupElement("spare_1"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char spare_1[16]
-     * }
-     */
-    public static final SequenceLayout spare_1LAYOUT() {
-        return spare_1LAYOUT;
-    }
-
     private static final long spare_1$OFFSET = 64;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char spare_1[16]
-     * }
-     */
-    public static final long spare_1$offset() {
-        return spare_1$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char spare_1[16]
      * }
      */
-    public static MemorySegment spare_1(MemorySegment struct) {
+    public MemorySegment spare_1() {
         return struct.asSlice(spare_1$OFFSET, spare_1LAYOUT.byteSize());
     }
 
@@ -501,21 +296,10 @@ public final class EM4Specific extends StructClass {
      * unsigned char spare_1[16]
      * }
      */
-    public static void spare_1(MemorySegment struct, MemorySegment fieldValue) {
+    public void spare_1(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, spare_1$OFFSET, spare_1LAYOUT.byteSize());
     }
 
-    private static long[] spare_1$DIMS = { 16 };
-
-    /**
-     * Dimensions for array field:
-     * {@snippet lang=c :
-     * unsigned char spare_1[16]
-     * }
-     */
-    public static long[] spare_1$dimensions() {
-        return spare_1$DIMS;
-    }
     private static final VarHandle spare_1$ELEM_HANDLE = spare_1LAYOUT.varHandle(sequenceElement());
 
     /**
@@ -524,7 +308,7 @@ public final class EM4Specific extends StructClass {
      * unsigned char spare_1[16]
      * }
      */
-    public static byte spare_1(MemorySegment struct, long index0) {
+    public byte spare_1(long index0) {
         return (byte)spare_1$ELEM_HANDLE.get(struct, 0L, index0);
     }
 
@@ -534,41 +318,21 @@ public final class EM4Specific extends StructClass {
      * unsigned char spare_1[16]
      * }
      */
-    public static void spare_1(MemorySegment struct, long index0, byte fieldValue) {
+    public void spare_1(long index0, byte fieldValue) {
         spare_1$ELEM_HANDLE.set(struct, 0L, index0, fieldValue);
     }
 
     private static final OfInt transmit_sectorsLAYOUT = (OfInt)LAYOUT.select(groupElement("transmit_sectors"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int transmit_sectors
-     * }
-     */
-    public static final OfInt transmit_sectorsLAYOUT() {
-        return transmit_sectorsLAYOUT;
-    }
-
     private static final long transmit_sectors$OFFSET = 80;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int transmit_sectors
-     * }
-     */
-    public static final long transmit_sectors$offset() {
-        return transmit_sectors$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int transmit_sectors
      * }
      */
-    public static int transmit_sectors(MemorySegment struct) {
+    public int transmit_sectors() {
         return struct.get(transmit_sectorsLAYOUT, transmit_sectors$OFFSET);
     }
 
@@ -578,41 +342,21 @@ public final class EM4Specific extends StructClass {
      * int transmit_sectors
      * }
      */
-    public static void transmit_sectors(MemorySegment struct, int fieldValue) {
+    public void transmit_sectors(int fieldValue) {
         struct.set(transmit_sectorsLAYOUT, transmit_sectors$OFFSET, fieldValue);
     }
 
     private static final SequenceLayout sectorLAYOUT = (SequenceLayout)LAYOUT.select(groupElement("sector"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * t_gsfEM4TxSector sector[9]
-     * }
-     */
-    public static final SequenceLayout sectorLAYOUT() {
-        return sectorLAYOUT;
-    }
-
     private static final long sector$OFFSET = 88;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * t_gsfEM4TxSector sector[9]
-     * }
-     */
-    public static final long sector$offset() {
-        return sector$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * t_gsfEM4TxSector sector[9]
      * }
      */
-    public static MemorySegment sector(MemorySegment struct) {
+    public MemorySegment sector() {
         return struct.asSlice(sector$OFFSET, sectorLAYOUT.byteSize());
     }
 
@@ -622,21 +366,10 @@ public final class EM4Specific extends StructClass {
      * t_gsfEM4TxSector sector[9]
      * }
      */
-    public static void sector(MemorySegment struct, MemorySegment fieldValue) {
+    public void sector(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, sector$OFFSET, sectorLAYOUT.byteSize());
     }
 
-    private static long[] sector$DIMS = { 9 };
-
-    /**
-     * Dimensions for array field:
-     * {@snippet lang=c :
-     * t_gsfEM4TxSector sector[9]
-     * }
-     */
-    public static long[] sector$dimensions() {
-        return sector$DIMS;
-    }
     private static final MethodHandle sector$ELEM_HANDLE = sectorLAYOUT.sliceHandle(sequenceElement());
 
     /**
@@ -645,7 +378,7 @@ public final class EM4Specific extends StructClass {
      * t_gsfEM4TxSector sector[9]
      * }
      */
-    public static MemorySegment sector(MemorySegment struct, long index0) {
+    public MemorySegment sector(long index0) {
         try {
             return (MemorySegment)sector$ELEM_HANDLE.invokeExact(struct, 0L, index0);
         } catch (Throwable ex$) {
@@ -659,41 +392,21 @@ public final class EM4Specific extends StructClass {
      * t_gsfEM4TxSector sector[9]
      * }
      */
-    public static void sector(MemorySegment struct, long index0, MemorySegment fieldValue) {
-        MemorySegment.copy(fieldValue, 0L, sector(struct, index0), 0L, EM4TxSector.LAYOUT.byteSize());
+    public void sector(long index0, MemorySegment fieldValue) {
+        MemorySegment.copy(fieldValue, 0L, sector(index0), 0L, EM4TxSector.LAYOUT.byteSize());
     }
 
     private static final SequenceLayout spare_2LAYOUT = (SequenceLayout)LAYOUT.select(groupElement("spare_2"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char spare_2[16]
-     * }
-     */
-    public static final SequenceLayout spare_2LAYOUT() {
-        return spare_2LAYOUT;
-    }
-
     private static final long spare_2$OFFSET = 808;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char spare_2[16]
-     * }
-     */
-    public static final long spare_2$offset() {
-        return spare_2$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char spare_2[16]
      * }
      */
-    public static MemorySegment spare_2(MemorySegment struct) {
+    public MemorySegment spare_2() {
         return struct.asSlice(spare_2$OFFSET, spare_2LAYOUT.byteSize());
     }
 
@@ -703,21 +416,10 @@ public final class EM4Specific extends StructClass {
      * unsigned char spare_2[16]
      * }
      */
-    public static void spare_2(MemorySegment struct, MemorySegment fieldValue) {
+    public void spare_2(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, spare_2$OFFSET, spare_2LAYOUT.byteSize());
     }
 
-    private static long[] spare_2$DIMS = { 16 };
-
-    /**
-     * Dimensions for array field:
-     * {@snippet lang=c :
-     * unsigned char spare_2[16]
-     * }
-     */
-    public static long[] spare_2$dimensions() {
-        return spare_2$DIMS;
-    }
     private static final VarHandle spare_2$ELEM_HANDLE = spare_2LAYOUT.varHandle(sequenceElement());
 
     /**
@@ -726,7 +428,7 @@ public final class EM4Specific extends StructClass {
      * unsigned char spare_2[16]
      * }
      */
-    public static byte spare_2(MemorySegment struct, long index0) {
+    public byte spare_2(long index0) {
         return (byte)spare_2$ELEM_HANDLE.get(struct, 0L, index0);
     }
 
@@ -736,41 +438,21 @@ public final class EM4Specific extends StructClass {
      * unsigned char spare_2[16]
      * }
      */
-    public static void spare_2(MemorySegment struct, long index0, byte fieldValue) {
+    public void spare_2(long index0, byte fieldValue) {
         spare_2$ELEM_HANDLE.set(struct, 0L, index0, fieldValue);
     }
 
     private static final GroupLayout run_timeLAYOUT = (GroupLayout)LAYOUT.select(groupElement("run_time"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * t_gsfEMRunTime run_time
-     * }
-     */
-    public static final GroupLayout run_timeLAYOUT() {
-        return run_timeLAYOUT;
-    }
-
     private static final long run_time$OFFSET = 824;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * t_gsfEMRunTime run_time
-     * }
-     */
-    public static final long run_time$offset() {
-        return run_time$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * t_gsfEMRunTime run_time
      * }
      */
-    public static MemorySegment run_time(MemorySegment struct) {
+    public MemorySegment run_time() {
         return struct.asSlice(run_time$OFFSET, run_timeLAYOUT.byteSize());
     }
 
@@ -780,41 +462,21 @@ public final class EM4Specific extends StructClass {
      * t_gsfEMRunTime run_time
      * }
      */
-    public static void run_time(MemorySegment struct, MemorySegment fieldValue) {
+    public void run_time(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, run_time$OFFSET, run_timeLAYOUT.byteSize());
     }
 
     private static final GroupLayout pu_statusLAYOUT = (GroupLayout)LAYOUT.select(groupElement("pu_status"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * t_gsfEMPUStatus pu_status
-     * }
-     */
-    public static final GroupLayout pu_statusLAYOUT() {
-        return pu_statusLAYOUT;
-    }
-
     private static final long pu_status$OFFSET = 1024;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * t_gsfEMPUStatus pu_status
-     * }
-     */
-    public static final long pu_status$offset() {
-        return pu_status$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * t_gsfEMPUStatus pu_status
      * }
      */
-    public static MemorySegment pu_status(MemorySegment struct) {
+    public MemorySegment pu_status() {
         return struct.asSlice(pu_status$OFFSET, pu_statusLAYOUT.byteSize());
     }
 
@@ -824,9 +486,7 @@ public final class EM4Specific extends StructClass {
      * t_gsfEMPUStatus pu_status
      * }
      */
-    public static void pu_status(MemorySegment struct, MemorySegment fieldValue) {
+    public void pu_status(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, pu_status$OFFSET, pu_statusLAYOUT.byteSize());
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM4TxSector.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM4TxSector.java
index 9d911ea96e..a244beb382 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM4TxSector.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM4TxSector.java
@@ -29,7 +29,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class EM4TxSector extends StructClass {
-
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         GSF.C_DOUBLE.withName("tilt_angle"),
         GSF.C_DOUBLE.withName("focus_range"),
@@ -47,10 +46,6 @@ public final class EM4TxSector extends StructClass {
         super(struct);
     }
 
-    public EM4TxSector(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -58,35 +53,15 @@ public final class EM4TxSector extends StructClass {
 
     private static final OfDouble tilt_angleLAYOUT = (OfDouble)LAYOUT.select(groupElement("tilt_angle"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double tilt_angle
-     * }
-     */
-    public static final OfDouble tilt_angleLAYOUT() {
-        return tilt_angleLAYOUT;
-    }
-
     private static final long tilt_angle$OFFSET = 0;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double tilt_angle
-     * }
-     */
-    public static final long tilt_angle$offset() {
-        return tilt_angle$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double tilt_angle
      * }
      */
-    public static double tilt_angle(MemorySegment struct) {
+    public double tilt_angle() {
         return struct.get(tilt_angleLAYOUT, tilt_angle$OFFSET);
     }
 
@@ -96,41 +71,21 @@ public final class EM4TxSector extends StructClass {
      * double tilt_angle
      * }
      */
-    public static void tilt_angle(MemorySegment struct, double fieldValue) {
+    public void tilt_angle(double fieldValue) {
         struct.set(tilt_angleLAYOUT, tilt_angle$OFFSET, fieldValue);
     }
 
     private static final OfDouble focus_rangeLAYOUT = (OfDouble)LAYOUT.select(groupElement("focus_range"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double focus_range
-     * }
-     */
-    public static final OfDouble focus_rangeLAYOUT() {
-        return focus_rangeLAYOUT;
-    }
-
     private static final long focus_range$OFFSET = 8;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double focus_range
-     * }
-     */
-    public static final long focus_range$offset() {
-        return focus_range$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double focus_range
      * }
      */
-    public static double focus_range(MemorySegment struct) {
+    public double focus_range() {
         return struct.get(focus_rangeLAYOUT, focus_range$OFFSET);
     }
 
@@ -140,41 +95,21 @@ public final class EM4TxSector extends StructClass {
      * double focus_range
      * }
      */
-    public static void focus_range(MemorySegment struct, double fieldValue) {
+    public void focus_range(double fieldValue) {
         struct.set(focus_rangeLAYOUT, focus_range$OFFSET, fieldValue);
     }
 
     private static final OfDouble signal_lengthLAYOUT = (OfDouble)LAYOUT.select(groupElement("signal_length"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double signal_length
-     * }
-     */
-    public static final OfDouble signal_lengthLAYOUT() {
-        return signal_lengthLAYOUT;
-    }
-
     private static final long signal_length$OFFSET = 16;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double signal_length
-     * }
-     */
-    public static final long signal_length$offset() {
-        return signal_length$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double signal_length
      * }
      */
-    public static double signal_length(MemorySegment struct) {
+    public double signal_length() {
         return struct.get(signal_lengthLAYOUT, signal_length$OFFSET);
     }
 
@@ -184,41 +119,21 @@ public final class EM4TxSector extends StructClass {
      * double signal_length
      * }
      */
-    public static void signal_length(MemorySegment struct, double fieldValue) {
+    public void signal_length(double fieldValue) {
         struct.set(signal_lengthLAYOUT, signal_length$OFFSET, fieldValue);
     }
 
     private static final OfDouble transmit_delayLAYOUT = (OfDouble)LAYOUT.select(groupElement("transmit_delay"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double transmit_delay
-     * }
-     */
-    public static final OfDouble transmit_delayLAYOUT() {
-        return transmit_delayLAYOUT;
-    }
-
     private static final long transmit_delay$OFFSET = 24;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double transmit_delay
-     * }
-     */
-    public static final long transmit_delay$offset() {
-        return transmit_delay$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double transmit_delay
      * }
      */
-    public static double transmit_delay(MemorySegment struct) {
+    public double transmit_delay() {
         return struct.get(transmit_delayLAYOUT, transmit_delay$OFFSET);
     }
 
@@ -228,41 +143,21 @@ public final class EM4TxSector extends StructClass {
      * double transmit_delay
      * }
      */
-    public static void transmit_delay(MemorySegment struct, double fieldValue) {
+    public void transmit_delay(double fieldValue) {
         struct.set(transmit_delayLAYOUT, transmit_delay$OFFSET, fieldValue);
     }
 
     private static final OfDouble center_frequencyLAYOUT = (OfDouble)LAYOUT.select(groupElement("center_frequency"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double center_frequency
-     * }
-     */
-    public static final OfDouble center_frequencyLAYOUT() {
-        return center_frequencyLAYOUT;
-    }
-
     private static final long center_frequency$OFFSET = 32;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double center_frequency
-     * }
-     */
-    public static final long center_frequency$offset() {
-        return center_frequency$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double center_frequency
      * }
      */
-    public static double center_frequency(MemorySegment struct) {
+    public double center_frequency() {
         return struct.get(center_frequencyLAYOUT, center_frequency$OFFSET);
     }
 
@@ -272,41 +167,21 @@ public final class EM4TxSector extends StructClass {
      * double center_frequency
      * }
      */
-    public static void center_frequency(MemorySegment struct, double fieldValue) {
+    public void center_frequency(double fieldValue) {
         struct.set(center_frequencyLAYOUT, center_frequency$OFFSET, fieldValue);
     }
 
     private static final OfDouble mean_absorptionLAYOUT = (OfDouble)LAYOUT.select(groupElement("mean_absorption"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double mean_absorption
-     * }
-     */
-    public static final OfDouble mean_absorptionLAYOUT() {
-        return mean_absorptionLAYOUT;
-    }
-
     private static final long mean_absorption$OFFSET = 40;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double mean_absorption
-     * }
-     */
-    public static final long mean_absorption$offset() {
-        return mean_absorption$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double mean_absorption
      * }
      */
-    public static double mean_absorption(MemorySegment struct) {
+    public double mean_absorption() {
         return struct.get(mean_absorptionLAYOUT, mean_absorption$OFFSET);
     }
 
@@ -316,41 +191,21 @@ public final class EM4TxSector extends StructClass {
      * double mean_absorption
      * }
      */
-    public static void mean_absorption(MemorySegment struct, double fieldValue) {
+    public void mean_absorption(double fieldValue) {
         struct.set(mean_absorptionLAYOUT, mean_absorption$OFFSET, fieldValue);
     }
 
     private static final OfInt waveform_idLAYOUT = (OfInt)LAYOUT.select(groupElement("waveform_id"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int waveform_id
-     * }
-     */
-    public static final OfInt waveform_idLAYOUT() {
-        return waveform_idLAYOUT;
-    }
-
     private static final long waveform_id$OFFSET = 48;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int waveform_id
-     * }
-     */
-    public static final long waveform_id$offset() {
-        return waveform_id$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int waveform_id
      * }
      */
-    public static int waveform_id(MemorySegment struct) {
+    public int waveform_id() {
         return struct.get(waveform_idLAYOUT, waveform_id$OFFSET);
     }
 
@@ -360,41 +215,21 @@ public final class EM4TxSector extends StructClass {
      * int waveform_id
      * }
      */
-    public static void waveform_id(MemorySegment struct, int fieldValue) {
+    public void waveform_id(int fieldValue) {
         struct.set(waveform_idLAYOUT, waveform_id$OFFSET, fieldValue);
     }
 
     private static final OfInt sector_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("sector_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int sector_number
-     * }
-     */
-    public static final OfInt sector_numberLAYOUT() {
-        return sector_numberLAYOUT;
-    }
-
     private static final long sector_number$OFFSET = 52;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int sector_number
-     * }
-     */
-    public static final long sector_number$offset() {
-        return sector_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int sector_number
      * }
      */
-    public static int sector_number(MemorySegment struct) {
+    public int sector_number() {
         return struct.get(sector_numberLAYOUT, sector_number$OFFSET);
     }
 
@@ -404,41 +239,21 @@ public final class EM4TxSector extends StructClass {
      * int sector_number
      * }
      */
-    public static void sector_number(MemorySegment struct, int fieldValue) {
+    public void sector_number(int fieldValue) {
         struct.set(sector_numberLAYOUT, sector_number$OFFSET, fieldValue);
     }
 
     private static final OfDouble signal_bandwidthLAYOUT = (OfDouble)LAYOUT.select(groupElement("signal_bandwidth"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double signal_bandwidth
-     * }
-     */
-    public static final OfDouble signal_bandwidthLAYOUT() {
-        return signal_bandwidthLAYOUT;
-    }
-
     private static final long signal_bandwidth$OFFSET = 56;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double signal_bandwidth
-     * }
-     */
-    public static final long signal_bandwidth$offset() {
-        return signal_bandwidth$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double signal_bandwidth
      * }
      */
-    public static double signal_bandwidth(MemorySegment struct) {
+    public double signal_bandwidth() {
         return struct.get(signal_bandwidthLAYOUT, signal_bandwidth$OFFSET);
     }
 
@@ -448,41 +263,21 @@ public final class EM4TxSector extends StructClass {
      * double signal_bandwidth
      * }
      */
-    public static void signal_bandwidth(MemorySegment struct, double fieldValue) {
+    public void signal_bandwidth(double fieldValue) {
         struct.set(signal_bandwidthLAYOUT, signal_bandwidth$OFFSET, fieldValue);
     }
 
     private static final SequenceLayout spareLAYOUT = (SequenceLayout)LAYOUT.select(groupElement("spare"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char spare[16]
-     * }
-     */
-    public static final SequenceLayout spareLAYOUT() {
-        return spareLAYOUT;
-    }
-
     private static final long spare$OFFSET = 64;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char spare[16]
-     * }
-     */
-    public static final long spare$offset() {
-        return spare$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char spare[16]
      * }
      */
-    public static MemorySegment spare(MemorySegment struct) {
+    public MemorySegment spare() {
         return struct.asSlice(spare$OFFSET, spareLAYOUT.byteSize());
     }
 
@@ -492,21 +287,10 @@ public final class EM4TxSector extends StructClass {
      * unsigned char spare[16]
      * }
      */
-    public static void spare(MemorySegment struct, MemorySegment fieldValue) {
+    public void spare(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, spare$OFFSET, spareLAYOUT.byteSize());
     }
 
-    private static long[] spare$DIMS = { 16 };
-
-    /**
-     * Dimensions for array field:
-     * {@snippet lang=c :
-     * unsigned char spare[16]
-     * }
-     */
-    public static long[] spare$dimensions() {
-        return spare$DIMS;
-    }
     private static final VarHandle spare$ELEM_HANDLE = spareLAYOUT.varHandle(sequenceElement());
 
     /**
@@ -515,7 +299,7 @@ public final class EM4TxSector extends StructClass {
      * unsigned char spare[16]
      * }
      */
-    public static byte spare(MemorySegment struct, long index0) {
+    public byte spare(long index0) {
         return (byte)spare$ELEM_HANDLE.get(struct, 0L, index0);
     }
 
@@ -525,9 +309,7 @@ public final class EM4TxSector extends StructClass {
      * unsigned char spare[16]
      * }
      */
-    public static void spare(MemorySegment struct, long index0, byte fieldValue) {
+    public void spare(long index0, byte fieldValue) {
         spare$ELEM_HANDLE.set(struct, 0L, index0, fieldValue);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM950Specific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM950Specific.java
index 6dd69e62dc..f24e9d76c5 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM950Specific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EM950Specific.java
@@ -28,7 +28,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class EM950Specific extends StructClass {
-
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         GSF.C_INT.withName("ping_number"),
         GSF.C_INT.withName("mode"),
@@ -43,10 +42,6 @@ public final class EM950Specific extends StructClass {
         super(struct);
     }
 
-    public EM950Specific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -54,35 +49,15 @@ public final class EM950Specific extends StructClass {
 
     private static final OfInt ping_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("ping_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int ping_number
-     * }
-     */
-    public static final OfInt ping_numberLAYOUT() {
-        return ping_numberLAYOUT;
-    }
-
     private static final long ping_number$OFFSET = 0;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int ping_number
-     * }
-     */
-    public static final long ping_number$offset() {
-        return ping_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int ping_number
      * }
      */
-    public static int ping_number(MemorySegment struct) {
+    public int ping_number() {
         return struct.get(ping_numberLAYOUT, ping_number$OFFSET);
     }
 
@@ -92,41 +67,21 @@ public final class EM950Specific extends StructClass {
      * int ping_number
      * }
      */
-    public static void ping_number(MemorySegment struct, int fieldValue) {
+    public void ping_number(int fieldValue) {
         struct.set(ping_numberLAYOUT, ping_number$OFFSET, fieldValue);
     }
 
     private static final OfInt modeLAYOUT = (OfInt)LAYOUT.select(groupElement("mode"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int mode
-     * }
-     */
-    public static final OfInt modeLAYOUT() {
-        return modeLAYOUT;
-    }
-
     private static final long mode$OFFSET = 4;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int mode
-     * }
-     */
-    public static final long mode$offset() {
-        return mode$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int mode
      * }
      */
-    public static int mode(MemorySegment struct) {
+    public int mode() {
         return struct.get(modeLAYOUT, mode$OFFSET);
     }
 
@@ -136,41 +91,21 @@ public final class EM950Specific extends StructClass {
      * int mode
      * }
      */
-    public static void mode(MemorySegment struct, int fieldValue) {
+    public void mode(int fieldValue) {
         struct.set(modeLAYOUT, mode$OFFSET, fieldValue);
     }
 
     private static final OfInt ping_qualityLAYOUT = (OfInt)LAYOUT.select(groupElement("ping_quality"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int ping_quality
-     * }
-     */
-    public static final OfInt ping_qualityLAYOUT() {
-        return ping_qualityLAYOUT;
-    }
-
     private static final long ping_quality$OFFSET = 8;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int ping_quality
-     * }
-     */
-    public static final long ping_quality$offset() {
-        return ping_quality$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int ping_quality
      * }
      */
-    public static int ping_quality(MemorySegment struct) {
+    public int ping_quality() {
         return struct.get(ping_qualityLAYOUT, ping_quality$OFFSET);
     }
 
@@ -180,41 +115,21 @@ public final class EM950Specific extends StructClass {
      * int ping_quality
      * }
      */
-    public static void ping_quality(MemorySegment struct, int fieldValue) {
+    public void ping_quality(int fieldValue) {
         struct.set(ping_qualityLAYOUT, ping_quality$OFFSET, fieldValue);
     }
 
     private static final OfDouble ship_pitchLAYOUT = (OfDouble)LAYOUT.select(groupElement("ship_pitch"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double ship_pitch
-     * }
-     */
-    public static final OfDouble ship_pitchLAYOUT() {
-        return ship_pitchLAYOUT;
-    }
-
     private static final long ship_pitch$OFFSET = 16;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double ship_pitch
-     * }
-     */
-    public static final long ship_pitch$offset() {
-        return ship_pitch$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double ship_pitch
      * }
      */
-    public static double ship_pitch(MemorySegment struct) {
+    public double ship_pitch() {
         return struct.get(ship_pitchLAYOUT, ship_pitch$OFFSET);
     }
 
@@ -224,41 +139,21 @@ public final class EM950Specific extends StructClass {
      * double ship_pitch
      * }
      */
-    public static void ship_pitch(MemorySegment struct, double fieldValue) {
+    public void ship_pitch(double fieldValue) {
         struct.set(ship_pitchLAYOUT, ship_pitch$OFFSET, fieldValue);
     }
 
     private static final OfDouble transducer_pitchLAYOUT = (OfDouble)LAYOUT.select(groupElement("transducer_pitch"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double transducer_pitch
-     * }
-     */
-    public static final OfDouble transducer_pitchLAYOUT() {
-        return transducer_pitchLAYOUT;
-    }
-
     private static final long transducer_pitch$OFFSET = 24;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double transducer_pitch
-     * }
-     */
-    public static final long transducer_pitch$offset() {
-        return transducer_pitch$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double transducer_pitch
      * }
      */
-    public static double transducer_pitch(MemorySegment struct) {
+    public double transducer_pitch() {
         return struct.get(transducer_pitchLAYOUT, transducer_pitch$OFFSET);
     }
 
@@ -268,41 +163,21 @@ public final class EM950Specific extends StructClass {
      * double transducer_pitch
      * }
      */
-    public static void transducer_pitch(MemorySegment struct, double fieldValue) {
+    public void transducer_pitch(double fieldValue) {
         struct.set(transducer_pitchLAYOUT, transducer_pitch$OFFSET, fieldValue);
     }
 
     private static final OfDouble surface_velocityLAYOUT = (OfDouble)LAYOUT.select(groupElement("surface_velocity"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double surface_velocity
-     * }
-     */
-    public static final OfDouble surface_velocityLAYOUT() {
-        return surface_velocityLAYOUT;
-    }
-
     private static final long surface_velocity$OFFSET = 32;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double surface_velocity
-     * }
-     */
-    public static final long surface_velocity$offset() {
-        return surface_velocity$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double surface_velocity
      * }
      */
-    public static double surface_velocity(MemorySegment struct) {
+    public double surface_velocity() {
         return struct.get(surface_velocityLAYOUT, surface_velocity$OFFSET);
     }
 
@@ -312,9 +187,7 @@ public final class EM950Specific extends StructClass {
      * double surface_velocity
      * }
      */
-    public static void surface_velocity(MemorySegment struct, double fieldValue) {
+    public void surface_velocity(double fieldValue) {
         struct.set(surface_velocityLAYOUT, surface_velocity$OFFSET, fieldValue);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EMPUStatus.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EMPUStatus.java
index f822c90ba0..caefe74580 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EMPUStatus.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EMPUStatus.java
@@ -29,8 +29,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class EMPUStatus extends StructClass {
-
-
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         GSF.C_DOUBLE.withName("pu_cpu_load"),
         GSF.C_SHORT.withName("sensor_status"),
@@ -46,10 +44,6 @@ public final class EMPUStatus extends StructClass {
         super(struct);
     }
 
-    public EMPUStatus(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -57,35 +51,15 @@ public final class EMPUStatus extends StructClass {
 
     private static final OfDouble pu_cpu_loadLAYOUT = (OfDouble)LAYOUT.select(groupElement("pu_cpu_load"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double pu_cpu_load
-     * }
-     */
-    public static final OfDouble pu_cpu_loadLAYOUT() {
-        return pu_cpu_loadLAYOUT;
-    }
-
     private static final long pu_cpu_load$OFFSET = 0;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double pu_cpu_load
-     * }
-     */
-    public static final long pu_cpu_load$offset() {
-        return pu_cpu_load$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double pu_cpu_load
      * }
      */
-    public static double pu_cpu_load(MemorySegment struct) {
+    public double pu_cpu_load() {
         return struct.get(pu_cpu_loadLAYOUT, pu_cpu_load$OFFSET);
     }
 
@@ -95,41 +69,21 @@ public final class EMPUStatus extends StructClass {
      * double pu_cpu_load
      * }
      */
-    public static void pu_cpu_load(MemorySegment struct, double fieldValue) {
+    public void pu_cpu_load(double fieldValue) {
         struct.set(pu_cpu_loadLAYOUT, pu_cpu_load$OFFSET, fieldValue);
     }
 
     private static final OfShort sensor_statusLAYOUT = (OfShort)LAYOUT.select(groupElement("sensor_status"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned short sensor_status
-     * }
-     */
-    public static final OfShort sensor_statusLAYOUT() {
-        return sensor_statusLAYOUT;
-    }
-
     private static final long sensor_status$OFFSET = 8;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned short sensor_status
-     * }
-     */
-    public static final long sensor_status$offset() {
-        return sensor_status$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned short sensor_status
      * }
      */
-    public static short sensor_status(MemorySegment struct) {
+    public short sensor_status() {
         return struct.get(sensor_statusLAYOUT, sensor_status$OFFSET);
     }
 
@@ -139,41 +93,21 @@ public final class EMPUStatus extends StructClass {
      * unsigned short sensor_status
      * }
      */
-    public static void sensor_status(MemorySegment struct, short fieldValue) {
+    public void sensor_status(short fieldValue) {
         struct.set(sensor_statusLAYOUT, sensor_status$OFFSET, fieldValue);
     }
 
     private static final OfInt achieved_port_coverageLAYOUT = (OfInt)LAYOUT.select(groupElement("achieved_port_coverage"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int achieved_port_coverage
-     * }
-     */
-    public static final OfInt achieved_port_coverageLAYOUT() {
-        return achieved_port_coverageLAYOUT;
-    }
-
     private static final long achieved_port_coverage$OFFSET = 12;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int achieved_port_coverage
-     * }
-     */
-    public static final long achieved_port_coverage$offset() {
-        return achieved_port_coverage$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int achieved_port_coverage
      * }
      */
-    public static int achieved_port_coverage(MemorySegment struct) {
+    public int achieved_port_coverage() {
         return struct.get(achieved_port_coverageLAYOUT, achieved_port_coverage$OFFSET);
     }
 
@@ -183,41 +117,21 @@ public final class EMPUStatus extends StructClass {
      * int achieved_port_coverage
      * }
      */
-    public static void achieved_port_coverage(MemorySegment struct, int fieldValue) {
+    public void achieved_port_coverage(int fieldValue) {
         struct.set(achieved_port_coverageLAYOUT, achieved_port_coverage$OFFSET, fieldValue);
     }
 
     private static final OfInt achieved_stbd_coverageLAYOUT = (OfInt)LAYOUT.select(groupElement("achieved_stbd_coverage"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int achieved_stbd_coverage
-     * }
-     */
-    public static final OfInt achieved_stbd_coverageLAYOUT() {
-        return achieved_stbd_coverageLAYOUT;
-    }
-
     private static final long achieved_stbd_coverage$OFFSET = 16;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int achieved_stbd_coverage
-     * }
-     */
-    public static final long achieved_stbd_coverage$offset() {
-        return achieved_stbd_coverage$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int achieved_stbd_coverage
      * }
      */
-    public static int achieved_stbd_coverage(MemorySegment struct) {
+    public int achieved_stbd_coverage() {
         return struct.get(achieved_stbd_coverageLAYOUT, achieved_stbd_coverage$OFFSET);
     }
 
@@ -227,41 +141,21 @@ public final class EMPUStatus extends StructClass {
      * int achieved_stbd_coverage
      * }
      */
-    public static void achieved_stbd_coverage(MemorySegment struct, int fieldValue) {
+    public void achieved_stbd_coverage(int fieldValue) {
         struct.set(achieved_stbd_coverageLAYOUT, achieved_stbd_coverage$OFFSET, fieldValue);
     }
 
     private static final OfDouble yaw_stabilizationLAYOUT = (OfDouble)LAYOUT.select(groupElement("yaw_stabilization"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double yaw_stabilization
-     * }
-     */
-    public static final OfDouble yaw_stabilizationLAYOUT() {
-        return yaw_stabilizationLAYOUT;
-    }
-
     private static final long yaw_stabilization$OFFSET = 24;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double yaw_stabilization
-     * }
-     */
-    public static final long yaw_stabilization$offset() {
-        return yaw_stabilization$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double yaw_stabilization
      * }
      */
-    public static double yaw_stabilization(MemorySegment struct) {
+    public double yaw_stabilization() {
         return struct.get(yaw_stabilizationLAYOUT, yaw_stabilization$OFFSET);
     }
 
@@ -271,41 +165,21 @@ public final class EMPUStatus extends StructClass {
      * double yaw_stabilization
      * }
      */
-    public static void yaw_stabilization(MemorySegment struct, double fieldValue) {
+    public void yaw_stabilization(double fieldValue) {
         struct.set(yaw_stabilizationLAYOUT, yaw_stabilization$OFFSET, fieldValue);
     }
 
     private static final SequenceLayout spareLAYOUT = (SequenceLayout)LAYOUT.select(groupElement("spare"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char spare[16]
-     * }
-     */
-    public static final SequenceLayout spareLAYOUT() {
-        return spareLAYOUT;
-    }
-
     private static final long spare$OFFSET = 32;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char spare[16]
-     * }
-     */
-    public static final long spare$offset() {
-        return spare$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char spare[16]
      * }
      */
-    public static MemorySegment spare(MemorySegment struct) {
+    public MemorySegment spare() {
         return struct.asSlice(spare$OFFSET, spareLAYOUT.byteSize());
     }
 
@@ -315,21 +189,10 @@ public final class EMPUStatus extends StructClass {
      * unsigned char spare[16]
      * }
      */
-    public static void spare(MemorySegment struct, MemorySegment fieldValue) {
+    public void spare(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, spare$OFFSET, spareLAYOUT.byteSize());
     }
 
-    private static long[] spare$DIMS = { 16 };
-
-    /**
-     * Dimensions for array field:
-     * {@snippet lang=c :
-     * unsigned char spare[16]
-     * }
-     */
-    public static long[] spare$dimensions() {
-        return spare$DIMS;
-    }
     private static final VarHandle spare$ELEM_HANDLE = spareLAYOUT.varHandle(sequenceElement());
 
     /**
@@ -338,7 +201,7 @@ public final class EMPUStatus extends StructClass {
      * unsigned char spare[16]
      * }
      */
-    public static byte spare(MemorySegment struct, long index0) {
+    public byte spare(long index0) {
         return (byte)spare$ELEM_HANDLE.get(struct, 0L, index0);
     }
 
@@ -348,9 +211,7 @@ public final class EMPUStatus extends StructClass {
      * unsigned char spare[16]
      * }
      */
-    public static void spare(MemorySegment struct, long index0, byte fieldValue) {
+    public void spare(long index0, byte fieldValue) {
         spare$ELEM_HANDLE.set(struct, 0L, index0, fieldValue);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EMRunTime.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EMRunTime.java
index 16a2378ce4..c88fcb5f1e 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EMRunTime.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EMRunTime.java
@@ -30,7 +30,6 @@ import org.apache.sis.storage.gsf.TimeSpec;
  * @author Johann Sorel (Geomatys)
  */
 public final class EMRunTime extends StructClass {
-
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         GSF.C_INT.withName("model_number"),
         MemoryLayout.paddingLayout(4),
@@ -77,10 +76,6 @@ public final class EMRunTime extends StructClass {
         super(struct);
     }
 
-    public EMRunTime(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -88,35 +83,15 @@ public final class EMRunTime extends StructClass {
 
     private static final OfInt model_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("model_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int model_number
-     * }
-     */
-    public static final OfInt model_numberLAYOUT() {
-        return model_numberLAYOUT;
-    }
-
     private static final long model_number$OFFSET = 0;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int model_number
-     * }
-     */
-    public static final long model_number$offset() {
-        return model_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int model_number
      * }
      */
-    public static int model_number(MemorySegment struct) {
+    public int model_number() {
         return struct.get(model_numberLAYOUT, model_number$OFFSET);
     }
 
@@ -126,41 +101,21 @@ public final class EMRunTime extends StructClass {
      * int model_number
      * }
      */
-    public static void model_number(MemorySegment struct, int fieldValue) {
+    public void model_number(int fieldValue) {
         struct.set(model_numberLAYOUT, model_number$OFFSET, fieldValue);
     }
 
     private static final GroupLayout dg_timeLAYOUT = (GroupLayout)LAYOUT.select(groupElement("dg_time"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * struct timespec dg_time
-     * }
-     */
-    public static final GroupLayout dg_timeLAYOUT() {
-        return dg_timeLAYOUT;
-    }
-
     private static final long dg_time$OFFSET = 8;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * struct timespec dg_time
-     * }
-     */
-    public static final long dg_time$offset() {
-        return dg_time$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * struct timespec dg_time
      * }
      */
-    public static MemorySegment dg_time(MemorySegment struct) {
+    public MemorySegment dg_time() {
         return struct.asSlice(dg_time$OFFSET, dg_timeLAYOUT.byteSize());
     }
 
@@ -170,41 +125,21 @@ public final class EMRunTime extends StructClass {
      * struct timespec dg_time
      * }
      */
-    public static void dg_time(MemorySegment struct, MemorySegment fieldValue) {
+    public void dg_time(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, dg_time$OFFSET, dg_timeLAYOUT.byteSize());
     }
 
     private static final OfInt ping_counterLAYOUT = (OfInt)LAYOUT.select(groupElement("ping_counter"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int ping_counter
-     * }
-     */
-    public static final OfInt ping_counterLAYOUT() {
-        return ping_counterLAYOUT;
-    }
-
     private static final long ping_counter$OFFSET = 24;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int ping_counter
-     * }
-     */
-    public static final long ping_counter$offset() {
-        return ping_counter$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int ping_counter
      * }
      */
-    public static int ping_counter(MemorySegment struct) {
+    public int ping_counter() {
         return struct.get(ping_counterLAYOUT, ping_counter$OFFSET);
     }
 
@@ -214,41 +149,21 @@ public final class EMRunTime extends StructClass {
      * int ping_counter
      * }
      */
-    public static void ping_counter(MemorySegment struct, int fieldValue) {
+    public void ping_counter(int fieldValue) {
         struct.set(ping_counterLAYOUT, ping_counter$OFFSET, fieldValue);
     }
 
     private static final OfInt serial_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("serial_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int serial_number
-     * }
-     */
-    public static final OfInt serial_numberLAYOUT() {
-        return serial_numberLAYOUT;
-    }
-
     private static final long serial_number$OFFSET = 28;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int serial_number
-     * }
-     */
-    public static final long serial_number$offset() {
-        return serial_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int serial_number
      * }
      */
-    public static int serial_number(MemorySegment struct) {
+    public int serial_number() {
         return struct.get(serial_numberLAYOUT, serial_number$OFFSET);
     }
 
@@ -258,41 +173,21 @@ public final class EMRunTime extends StructClass {
      * int serial_number
      * }
      */
-    public static void serial_number(MemorySegment struct, int fieldValue) {
+    public void serial_number(int fieldValue) {
         struct.set(serial_numberLAYOUT, serial_number$OFFSET, fieldValue);
     }
 
     private static final OfByte operator_station_statusLAYOUT = (OfByte)LAYOUT.select(groupElement("operator_station_status"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char operator_station_status
-     * }
-     */
-    public static final OfByte operator_station_statusLAYOUT() {
-        return operator_station_statusLAYOUT;
-    }
-
     private static final long operator_station_status$OFFSET = 32;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char operator_station_status
-     * }
-     */
-    public static final long operator_station_status$offset() {
-        return operator_station_status$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char operator_station_status
      * }
      */
-    public static byte operator_station_status(MemorySegment struct) {
+    public byte operator_station_status() {
         return struct.get(operator_station_statusLAYOUT, operator_station_status$OFFSET);
     }
 
@@ -302,41 +197,21 @@ public final class EMRunTime extends StructClass {
      * unsigned char operator_station_status
      * }
      */
-    public static void operator_station_status(MemorySegment struct, byte fieldValue) {
+    public void operator_station_status(byte fieldValue) {
         struct.set(operator_station_statusLAYOUT, operator_station_status$OFFSET, fieldValue);
     }
 
     private static final OfByte processing_unit_statusLAYOUT = (OfByte)LAYOUT.select(groupElement("processing_unit_status"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char processing_unit_status
-     * }
-     */
-    public static final OfByte processing_unit_statusLAYOUT() {
-        return processing_unit_statusLAYOUT;
-    }
-
     private static final long processing_unit_status$OFFSET = 33;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char processing_unit_status
-     * }
-     */
-    public static final long processing_unit_status$offset() {
-        return processing_unit_status$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char processing_unit_status
      * }
      */
-    public static byte processing_unit_status(MemorySegment struct) {
+    public byte processing_unit_status() {
         return struct.get(processing_unit_statusLAYOUT, processing_unit_status$OFFSET);
     }
 
@@ -346,41 +221,21 @@ public final class EMRunTime extends StructClass {
      * unsigned char processing_unit_status
      * }
      */
-    public static void processing_unit_status(MemorySegment struct, byte fieldValue) {
+    public void processing_unit_status(byte fieldValue) {
         struct.set(processing_unit_statusLAYOUT, processing_unit_status$OFFSET, fieldValue);
     }
 
     private static final OfByte bsp_statusLAYOUT = (OfByte)LAYOUT.select(groupElement("bsp_status"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char bsp_status
-     * }
-     */
-    public static final OfByte bsp_statusLAYOUT() {
-        return bsp_statusLAYOUT;
-    }
-
     private static final long bsp_status$OFFSET = 34;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char bsp_status
-     * }
-     */
-    public static final long bsp_status$offset() {
-        return bsp_status$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char bsp_status
      * }
      */
-    public static byte bsp_status(MemorySegment struct) {
+    public byte bsp_status() {
         return struct.get(bsp_statusLAYOUT, bsp_status$OFFSET);
     }
 
@@ -390,41 +245,21 @@ public final class EMRunTime extends StructClass {
      * unsigned char bsp_status
      * }
      */
-    public static void bsp_status(MemorySegment struct, byte fieldValue) {
+    public void bsp_status(byte fieldValue) {
         struct.set(bsp_statusLAYOUT, bsp_status$OFFSET, fieldValue);
     }
 
     private static final OfByte head_transceiver_statusLAYOUT = (OfByte)LAYOUT.select(groupElement("head_transceiver_status"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char head_transceiver_status
-     * }
-     */
-    public static final OfByte head_transceiver_statusLAYOUT() {
-        return head_transceiver_statusLAYOUT;
-    }
-
     private static final long head_transceiver_status$OFFSET = 35;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char head_transceiver_status
-     * }
-     */
-    public static final long head_transceiver_status$offset() {
-        return head_transceiver_status$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char head_transceiver_status
      * }
      */
-    public static byte head_transceiver_status(MemorySegment struct) {
+    public byte head_transceiver_status() {
         return struct.get(head_transceiver_statusLAYOUT, head_transceiver_status$OFFSET);
     }
 
@@ -434,41 +269,21 @@ public final class EMRunTime extends StructClass {
      * unsigned char head_transceiver_status
      * }
      */
-    public static void head_transceiver_status(MemorySegment struct, byte fieldValue) {
+    public void head_transceiver_status(byte fieldValue) {
         struct.set(head_transceiver_statusLAYOUT, head_transceiver_status$OFFSET, fieldValue);
     }
 
     private static final OfByte modeLAYOUT = (OfByte)LAYOUT.select(groupElement("mode"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char mode
-     * }
-     */
-    public static final OfByte modeLAYOUT() {
-        return modeLAYOUT;
-    }
-
     private static final long mode$OFFSET = 36;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char mode
-     * }
-     */
-    public static final long mode$offset() {
-        return mode$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char mode
      * }
      */
-    public static byte mode(MemorySegment struct) {
+    public byte mode() {
         return struct.get(modeLAYOUT, mode$OFFSET);
     }
 
@@ -478,41 +293,21 @@ public final class EMRunTime extends StructClass {
      * unsigned char mode
      * }
      */
-    public static void mode(MemorySegment struct, byte fieldValue) {
+    public void mode(byte fieldValue) {
         struct.set(modeLAYOUT, mode$OFFSET, fieldValue);
     }
 
     private static final OfByte filter_idLAYOUT = (OfByte)LAYOUT.select(groupElement("filter_id"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char filter_id
-     * }
-     */
-    public static final OfByte filter_idLAYOUT() {
-        return filter_idLAYOUT;
-    }
-
     private static final long filter_id$OFFSET = 37;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char filter_id
-     * }
-     */
-    public static final long filter_id$offset() {
-        return filter_id$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char filter_id
      * }
      */
-    public static byte filter_id(MemorySegment struct) {
+    public byte filter_id() {
         return struct.get(filter_idLAYOUT, filter_id$OFFSET);
     }
 
@@ -522,41 +317,21 @@ public final class EMRunTime extends StructClass {
      * unsigned char filter_id
      * }
      */
-    public static void filter_id(MemorySegment struct, byte fieldValue) {
+    public void filter_id(byte fieldValue) {
         struct.set(filter_idLAYOUT, filter_id$OFFSET, fieldValue);
     }
 
     private static final OfDouble min_depthLAYOUT = (OfDouble)LAYOUT.select(groupElement("min_depth"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double min_depth
-     * }
-     */
-    public static final OfDouble min_depthLAYOUT() {
-        return min_depthLAYOUT;
-    }
-
     private static final long min_depth$OFFSET = 40;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double min_depth
-     * }
-     */
-    public static final long min_depth$offset() {
-        return min_depth$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double min_depth
      * }
      */
-    public static double min_depth(MemorySegment struct) {
+    public double min_depth() {
         return struct.get(min_depthLAYOUT, min_depth$OFFSET);
     }
 
@@ -566,41 +341,21 @@ public final class EMRunTime extends StructClass {
      * double min_depth
      * }
      */
-    public static void min_depth(MemorySegment struct, double fieldValue) {
+    public void min_depth(double fieldValue) {
         struct.set(min_depthLAYOUT, min_depth$OFFSET, fieldValue);
     }
 
     private static final OfDouble max_depthLAYOUT = (OfDouble)LAYOUT.select(groupElement("max_depth"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double max_depth
-     * }
-     */
-    public static final OfDouble max_depthLAYOUT() {
-        return max_depthLAYOUT;
-    }
-
     private static final long max_depth$OFFSET = 48;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double max_depth
-     * }
-     */
-    public static final long max_depth$offset() {
-        return max_depth$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double max_depth
      * }
      */
-    public static double max_depth(MemorySegment struct) {
+    public double max_depth() {
         return struct.get(max_depthLAYOUT, max_depth$OFFSET);
     }
 
@@ -610,41 +365,21 @@ public final class EMRunTime extends StructClass {
      * double max_depth
      * }
      */
-    public static void max_depth(MemorySegment struct, double fieldValue) {
+    public void max_depth(double fieldValue) {
         struct.set(max_depthLAYOUT, max_depth$OFFSET, fieldValue);
     }
 
     private static final OfDouble absorptionLAYOUT = (OfDouble)LAYOUT.select(groupElement("absorption"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double absorption
-     * }
-     */
-    public static final OfDouble absorptionLAYOUT() {
-        return absorptionLAYOUT;
-    }
-
     private static final long absorption$OFFSET = 56;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double absorption
-     * }
-     */
-    public static final long absorption$offset() {
-        return absorption$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double absorption
      * }
      */
-    public static double absorption(MemorySegment struct) {
+    public double absorption() {
         return struct.get(absorptionLAYOUT, absorption$OFFSET);
     }
 
@@ -654,41 +389,21 @@ public final class EMRunTime extends StructClass {
      * double absorption
      * }
      */
-    public static void absorption(MemorySegment struct, double fieldValue) {
+    public void absorption(double fieldValue) {
         struct.set(absorptionLAYOUT, absorption$OFFSET, fieldValue);
     }
 
     private static final OfDouble tx_pulse_lengthLAYOUT = (OfDouble)LAYOUT.select(groupElement("tx_pulse_length"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double tx_pulse_length
-     * }
-     */
-    public static final OfDouble tx_pulse_lengthLAYOUT() {
-        return tx_pulse_lengthLAYOUT;
-    }
-
     private static final long tx_pulse_length$OFFSET = 64;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double tx_pulse_length
-     * }
-     */
-    public static final long tx_pulse_length$offset() {
-        return tx_pulse_length$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double tx_pulse_length
      * }
      */
-    public static double tx_pulse_length(MemorySegment struct) {
+    public double tx_pulse_length() {
         return struct.get(tx_pulse_lengthLAYOUT, tx_pulse_length$OFFSET);
     }
 
@@ -698,41 +413,21 @@ public final class EMRunTime extends StructClass {
      * double tx_pulse_length
      * }
      */
-    public static void tx_pulse_length(MemorySegment struct, double fieldValue) {
+    public void tx_pulse_length(double fieldValue) {
         struct.set(tx_pulse_lengthLAYOUT, tx_pulse_length$OFFSET, fieldValue);
     }
 
     private static final OfDouble tx_beam_widthLAYOUT = (OfDouble)LAYOUT.select(groupElement("tx_beam_width"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double tx_beam_width
-     * }
-     */
-    public static final OfDouble tx_beam_widthLAYOUT() {
-        return tx_beam_widthLAYOUT;
-    }
-
     private static final long tx_beam_width$OFFSET = 72;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double tx_beam_width
-     * }
-     */
-    public static final long tx_beam_width$offset() {
-        return tx_beam_width$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double tx_beam_width
      * }
      */
-    public static double tx_beam_width(MemorySegment struct) {
+    public double tx_beam_width() {
         return struct.get(tx_beam_widthLAYOUT, tx_beam_width$OFFSET);
     }
 
@@ -742,41 +437,21 @@ public final class EMRunTime extends StructClass {
      * double tx_beam_width
      * }
      */
-    public static void tx_beam_width(MemorySegment struct, double fieldValue) {
+    public void tx_beam_width(double fieldValue) {
         struct.set(tx_beam_widthLAYOUT, tx_beam_width$OFFSET, fieldValue);
     }
 
     private static final OfDouble tx_power_re_maxLAYOUT = (OfDouble)LAYOUT.select(groupElement("tx_power_re_max"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double tx_power_re_max
-     * }
-     */
-    public static final OfDouble tx_power_re_maxLAYOUT() {
-        return tx_power_re_maxLAYOUT;
-    }
-
     private static final long tx_power_re_max$OFFSET = 80;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double tx_power_re_max
-     * }
-     */
-    public static final long tx_power_re_max$offset() {
-        return tx_power_re_max$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double tx_power_re_max
      * }
      */
-    public static double tx_power_re_max(MemorySegment struct) {
+    public double tx_power_re_max() {
         return struct.get(tx_power_re_maxLAYOUT, tx_power_re_max$OFFSET);
     }
 
@@ -786,41 +461,21 @@ public final class EMRunTime extends StructClass {
      * double tx_power_re_max
      * }
      */
-    public static void tx_power_re_max(MemorySegment struct, double fieldValue) {
+    public void tx_power_re_max(double fieldValue) {
         struct.set(tx_power_re_maxLAYOUT, tx_power_re_max$OFFSET, fieldValue);
     }
 
     private static final OfDouble rx_beam_widthLAYOUT = (OfDouble)LAYOUT.select(groupElement("rx_beam_width"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double rx_beam_width
-     * }
-     */
-    public static final OfDouble rx_beam_widthLAYOUT() {
-        return rx_beam_widthLAYOUT;
-    }
-
     private static final long rx_beam_width$OFFSET = 88;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double rx_beam_width
-     * }
-     */
-    public static final long rx_beam_width$offset() {
-        return rx_beam_width$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double rx_beam_width
      * }
      */
-    public static double rx_beam_width(MemorySegment struct) {
+    public double rx_beam_width() {
         return struct.get(rx_beam_widthLAYOUT, rx_beam_width$OFFSET);
     }
 
@@ -830,41 +485,21 @@ public final class EMRunTime extends StructClass {
      * double rx_beam_width
      * }
      */
-    public static void rx_beam_width(MemorySegment struct, double fieldValue) {
+    public void rx_beam_width(double fieldValue) {
         struct.set(rx_beam_widthLAYOUT, rx_beam_width$OFFSET, fieldValue);
     }
 
     private static final OfDouble rx_bandwidthLAYOUT = (OfDouble)LAYOUT.select(groupElement("rx_bandwidth"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double rx_bandwidth
-     * }
-     */
-    public static final OfDouble rx_bandwidthLAYOUT() {
-        return rx_bandwidthLAYOUT;
-    }
-
     private static final long rx_bandwidth$OFFSET = 96;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double rx_bandwidth
-     * }
-     */
-    public static final long rx_bandwidth$offset() {
-        return rx_bandwidth$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double rx_bandwidth
      * }
      */
-    public static double rx_bandwidth(MemorySegment struct) {
+    public double rx_bandwidth() {
         return struct.get(rx_bandwidthLAYOUT, rx_bandwidth$OFFSET);
     }
 
@@ -874,41 +509,21 @@ public final class EMRunTime extends StructClass {
      * double rx_bandwidth
      * }
      */
-    public static void rx_bandwidth(MemorySegment struct, double fieldValue) {
+    public void rx_bandwidth(double fieldValue) {
         struct.set(rx_bandwidthLAYOUT, rx_bandwidth$OFFSET, fieldValue);
     }
 
     private static final OfDouble rx_fixed_gainLAYOUT = (OfDouble)LAYOUT.select(groupElement("rx_fixed_gain"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double rx_fixed_gain
-     * }
-     */
-    public static final OfDouble rx_fixed_gainLAYOUT() {
-        return rx_fixed_gainLAYOUT;
-    }
-
     private static final long rx_fixed_gain$OFFSET = 104;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double rx_fixed_gain
-     * }
-     */
-    public static final long rx_fixed_gain$offset() {
-        return rx_fixed_gain$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double rx_fixed_gain
      * }
      */
-    public static double rx_fixed_gain(MemorySegment struct) {
+    public double rx_fixed_gain() {
         return struct.get(rx_fixed_gainLAYOUT, rx_fixed_gain$OFFSET);
     }
 
@@ -918,41 +533,21 @@ public final class EMRunTime extends StructClass {
      * double rx_fixed_gain
      * }
      */
-    public static void rx_fixed_gain(MemorySegment struct, double fieldValue) {
+    public void rx_fixed_gain(double fieldValue) {
         struct.set(rx_fixed_gainLAYOUT, rx_fixed_gain$OFFSET, fieldValue);
     }
 
     private static final OfDouble tvg_cross_over_angleLAYOUT = (OfDouble)LAYOUT.select(groupElement("tvg_cross_over_angle"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double tvg_cross_over_angle
-     * }
-     */
-    public static final OfDouble tvg_cross_over_angleLAYOUT() {
-        return tvg_cross_over_angleLAYOUT;
-    }
-
     private static final long tvg_cross_over_angle$OFFSET = 112;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double tvg_cross_over_angle
-     * }
-     */
-    public static final long tvg_cross_over_angle$offset() {
-        return tvg_cross_over_angle$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double tvg_cross_over_angle
      * }
      */
-    public static double tvg_cross_over_angle(MemorySegment struct) {
+    public double tvg_cross_over_angle() {
         return struct.get(tvg_cross_over_angleLAYOUT, tvg_cross_over_angle$OFFSET);
     }
 
@@ -962,41 +557,21 @@ public final class EMRunTime extends StructClass {
      * double tvg_cross_over_angle
      * }
      */
-    public static void tvg_cross_over_angle(MemorySegment struct, double fieldValue) {
+    public void tvg_cross_over_angle(double fieldValue) {
         struct.set(tvg_cross_over_angleLAYOUT, tvg_cross_over_angle$OFFSET, fieldValue);
     }
 
     private static final OfByte ssv_sourceLAYOUT = (OfByte)LAYOUT.select(groupElement("ssv_source"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char ssv_source
-     * }
-     */
-    public static final OfByte ssv_sourceLAYOUT() {
-        return ssv_sourceLAYOUT;
-    }
-
     private static final long ssv_source$OFFSET = 120;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char ssv_source
-     * }
-     */
-    public static final long ssv_source$offset() {
-        return ssv_source$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char ssv_source
      * }
      */
-    public static byte ssv_source(MemorySegment struct) {
+    public byte ssv_source() {
         return struct.get(ssv_sourceLAYOUT, ssv_source$OFFSET);
     }
 
@@ -1006,41 +581,21 @@ public final class EMRunTime extends StructClass {
      * unsigned char ssv_source
      * }
      */
-    public static void ssv_source(MemorySegment struct, byte fieldValue) {
+    public void ssv_source(byte fieldValue) {
         struct.set(ssv_sourceLAYOUT, ssv_source$OFFSET, fieldValue);
     }
 
     private static final OfInt max_port_swath_widthLAYOUT = (OfInt)LAYOUT.select(groupElement("max_port_swath_width"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int max_port_swath_width
-     * }
-     */
-    public static final OfInt max_port_swath_widthLAYOUT() {
-        return max_port_swath_widthLAYOUT;
-    }
-
     private static final long max_port_swath_width$OFFSET = 124;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int max_port_swath_width
-     * }
-     */
-    public static final long max_port_swath_width$offset() {
-        return max_port_swath_width$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int max_port_swath_width
      * }
      */
-    public static int max_port_swath_width(MemorySegment struct) {
+    public int max_port_swath_width() {
         return struct.get(max_port_swath_widthLAYOUT, max_port_swath_width$OFFSET);
     }
 
@@ -1050,41 +605,21 @@ public final class EMRunTime extends StructClass {
      * int max_port_swath_width
      * }
      */
-    public static void max_port_swath_width(MemorySegment struct, int fieldValue) {
+    public void max_port_swath_width(int fieldValue) {
         struct.set(max_port_swath_widthLAYOUT, max_port_swath_width$OFFSET, fieldValue);
     }
 
     private static final OfByte beam_spacingLAYOUT = (OfByte)LAYOUT.select(groupElement("beam_spacing"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char beam_spacing
-     * }
-     */
-    public static final OfByte beam_spacingLAYOUT() {
-        return beam_spacingLAYOUT;
-    }
-
     private static final long beam_spacing$OFFSET = 128;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char beam_spacing
-     * }
-     */
-    public static final long beam_spacing$offset() {
-        return beam_spacing$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char beam_spacing
      * }
      */
-    public static byte beam_spacing(MemorySegment struct) {
+    public byte beam_spacing() {
         return struct.get(beam_spacingLAYOUT, beam_spacing$OFFSET);
     }
 
@@ -1094,41 +629,21 @@ public final class EMRunTime extends StructClass {
      * unsigned char beam_spacing
      * }
      */
-    public static void beam_spacing(MemorySegment struct, byte fieldValue) {
+    public void beam_spacing(byte fieldValue) {
         struct.set(beam_spacingLAYOUT, beam_spacing$OFFSET, fieldValue);
     }
 
     private static final OfInt max_port_coverageLAYOUT = (OfInt)LAYOUT.select(groupElement("max_port_coverage"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int max_port_coverage
-     * }
-     */
-    public static final OfInt max_port_coverageLAYOUT() {
-        return max_port_coverageLAYOUT;
-    }
-
     private static final long max_port_coverage$OFFSET = 132;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int max_port_coverage
-     * }
-     */
-    public static final long max_port_coverage$offset() {
-        return max_port_coverage$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int max_port_coverage
      * }
      */
-    public static int max_port_coverage(MemorySegment struct) {
+    public int max_port_coverage() {
         return struct.get(max_port_coverageLAYOUT, max_port_coverage$OFFSET);
     }
 
@@ -1138,41 +653,21 @@ public final class EMRunTime extends StructClass {
      * int max_port_coverage
      * }
      */
-    public static void max_port_coverage(MemorySegment struct, int fieldValue) {
+    public void max_port_coverage(int fieldValue) {
         struct.set(max_port_coverageLAYOUT, max_port_coverage$OFFSET, fieldValue);
     }
 
     private static final OfByte stabilizationLAYOUT = (OfByte)LAYOUT.select(groupElement("stabilization"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char stabilization
-     * }
-     */
-    public static final OfByte stabilizationLAYOUT() {
-        return stabilizationLAYOUT;
-    }
-
     private static final long stabilization$OFFSET = 136;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char stabilization
-     * }
-     */
-    public static final long stabilization$offset() {
-        return stabilization$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char stabilization
      * }
      */
-    public static byte stabilization(MemorySegment struct) {
+    public byte stabilization() {
         return struct.get(stabilizationLAYOUT, stabilization$OFFSET);
     }
 
@@ -1182,41 +677,21 @@ public final class EMRunTime extends StructClass {
      * unsigned char stabilization
      * }
      */
-    public static void stabilization(MemorySegment struct, byte fieldValue) {
+    public void stabilization(byte fieldValue) {
         struct.set(stabilizationLAYOUT, stabilization$OFFSET, fieldValue);
     }
 
     private static final OfInt max_stbd_coverageLAYOUT = (OfInt)LAYOUT.select(groupElement("max_stbd_coverage"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int max_stbd_coverage
-     * }
-     */
-    public static final OfInt max_stbd_coverageLAYOUT() {
-        return max_stbd_coverageLAYOUT;
-    }
-
     private static final long max_stbd_coverage$OFFSET = 140;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int max_stbd_coverage
-     * }
-     */
-    public static final long max_stbd_coverage$offset() {
-        return max_stbd_coverage$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int max_stbd_coverage
      * }
      */
-    public static int max_stbd_coverage(MemorySegment struct) {
+    public int max_stbd_coverage() {
         return struct.get(max_stbd_coverageLAYOUT, max_stbd_coverage$OFFSET);
     }
 
@@ -1226,41 +701,21 @@ public final class EMRunTime extends StructClass {
      * int max_stbd_coverage
      * }
      */
-    public static void max_stbd_coverage(MemorySegment struct, int fieldValue) {
+    public void max_stbd_coverage(int fieldValue) {
         struct.set(max_stbd_coverageLAYOUT, max_stbd_coverage$OFFSET, fieldValue);
     }
 
     private static final OfInt max_stbd_swath_widthLAYOUT = (OfInt)LAYOUT.select(groupElement("max_stbd_swath_width"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int max_stbd_swath_width
-     * }
-     */
-    public static final OfInt max_stbd_swath_widthLAYOUT() {
-        return max_stbd_swath_widthLAYOUT;
-    }
-
     private static final long max_stbd_swath_width$OFFSET = 144;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int max_stbd_swath_width
-     * }
-     */
-    public static final long max_stbd_swath_width$offset() {
-        return max_stbd_swath_width$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int max_stbd_swath_width
      * }
      */
-    public static int max_stbd_swath_width(MemorySegment struct) {
+    public int max_stbd_swath_width() {
         return struct.get(max_stbd_swath_widthLAYOUT, max_stbd_swath_width$OFFSET);
     }
 
@@ -1270,41 +725,21 @@ public final class EMRunTime extends StructClass {
      * int max_stbd_swath_width
      * }
      */
-    public static void max_stbd_swath_width(MemorySegment struct, int fieldValue) {
+    public void max_stbd_swath_width(int fieldValue) {
         struct.set(max_stbd_swath_widthLAYOUT, max_stbd_swath_width$OFFSET, fieldValue);
     }
 
     private static final OfDouble durotong_speedLAYOUT = (OfDouble)LAYOUT.select(groupElement("durotong_speed"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double durotong_speed
-     * }
-     */
-    public static final OfDouble durotong_speedLAYOUT() {
-        return durotong_speedLAYOUT;
-    }
-
     private static final long durotong_speed$OFFSET = 152;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double durotong_speed
-     * }
-     */
-    public static final long durotong_speed$offset() {
-        return durotong_speed$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double durotong_speed
      * }
      */
-    public static double durotong_speed(MemorySegment struct) {
+    public double durotong_speed() {
         return struct.get(durotong_speedLAYOUT, durotong_speed$OFFSET);
     }
 
@@ -1314,41 +749,21 @@ public final class EMRunTime extends StructClass {
      * double durotong_speed
      * }
      */
-    public static void durotong_speed(MemorySegment struct, double fieldValue) {
+    public void durotong_speed(double fieldValue) {
         struct.set(durotong_speedLAYOUT, durotong_speed$OFFSET, fieldValue);
     }
 
     private static final OfDouble hi_low_absorption_ratioLAYOUT = (OfDouble)LAYOUT.select(groupElement("hi_low_absorption_ratio"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double hi_low_absorption_ratio
-     * }
-     */
-    public static final OfDouble hi_low_absorption_ratioLAYOUT() {
-        return hi_low_absorption_ratioLAYOUT;
-    }
-
     private static final long hi_low_absorption_ratio$OFFSET = 160;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double hi_low_absorption_ratio
-     * }
-     */
-    public static final long hi_low_absorption_ratio$offset() {
-        return hi_low_absorption_ratio$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double hi_low_absorption_ratio
      * }
      */
-    public static double hi_low_absorption_ratio(MemorySegment struct) {
+    public double hi_low_absorption_ratio() {
         return struct.get(hi_low_absorption_ratioLAYOUT, hi_low_absorption_ratio$OFFSET);
     }
 
@@ -1358,41 +773,21 @@ public final class EMRunTime extends StructClass {
      * double hi_low_absorption_ratio
      * }
      */
-    public static void hi_low_absorption_ratio(MemorySegment struct, double fieldValue) {
+    public void hi_low_absorption_ratio(double fieldValue) {
         struct.set(hi_low_absorption_ratioLAYOUT, hi_low_absorption_ratio$OFFSET, fieldValue);
     }
 
     private static final OfDouble tx_along_tiltLAYOUT = (OfDouble)LAYOUT.select(groupElement("tx_along_tilt"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * double tx_along_tilt
-     * }
-     */
-    public static final OfDouble tx_along_tiltLAYOUT() {
-        return tx_along_tiltLAYOUT;
-    }
-
     private static final long tx_along_tilt$OFFSET = 168;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * double tx_along_tilt
-     * }
-     */
-    public static final long tx_along_tilt$offset() {
-        return tx_along_tilt$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * double tx_along_tilt
      * }
      */
-    public static double tx_along_tilt(MemorySegment struct) {
+    public double tx_along_tilt() {
         return struct.get(tx_along_tiltLAYOUT, tx_along_tilt$OFFSET);
     }
 
@@ -1402,41 +797,21 @@ public final class EMRunTime extends StructClass {
      * double tx_along_tilt
      * }
      */
-    public static void tx_along_tilt(MemorySegment struct, double fieldValue) {
+    public void tx_along_tilt(double fieldValue) {
         struct.set(tx_along_tiltLAYOUT, tx_along_tilt$OFFSET, fieldValue);
     }
 
     private static final OfByte filter_id_2LAYOUT = (OfByte)LAYOUT.select(groupElement("filter_id_2"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char filter_id_2
-     * }
-     */
-    public static final OfByte filter_id_2LAYOUT() {
-        return filter_id_2LAYOUT;
-    }
-
     private static final long filter_id_2$OFFSET = 176;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char filter_id_2
-     * }
-     */
-    public static final long filter_id_2$offset() {
-        return filter_id_2$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char filter_id_2
      * }
      */
-    public static byte filter_id_2(MemorySegment struct) {
+    public byte filter_id_2() {
         return struct.get(filter_id_2LAYOUT, filter_id_2$OFFSET);
     }
 
@@ -1446,41 +821,21 @@ public final class EMRunTime extends StructClass {
      * unsigned char filter_id_2
      * }
      */
-    public static void filter_id_2(MemorySegment struct, byte fieldValue) {
+    public void filter_id_2(byte fieldValue) {
         struct.set(filter_id_2LAYOUT, filter_id_2$OFFSET, fieldValue);
     }
 
     private static final SequenceLayout spareLAYOUT = (SequenceLayout)LAYOUT.select(groupElement("spare"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned char spare[16]
-     * }
-     */
-    public static final SequenceLayout spareLAYOUT() {
-        return spareLAYOUT;
-    }
-
     private static final long spare$OFFSET = 177;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned char spare[16]
-     * }
-     */
-    public static final long spare$offset() {
-        return spare$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned char spare[16]
      * }
      */
-    public static MemorySegment spare(MemorySegment struct) {
+    public MemorySegment spare() {
         return struct.asSlice(spare$OFFSET, spareLAYOUT.byteSize());
     }
 
@@ -1490,21 +845,10 @@ public final class EMRunTime extends StructClass {
      * unsigned char spare[16]
      * }
      */
-    public static void spare(MemorySegment struct, MemorySegment fieldValue) {
+    public void spare(MemorySegment fieldValue) {
         MemorySegment.copy(fieldValue, 0L, struct, spare$OFFSET, spareLAYOUT.byteSize());
     }
 
-    private static long[] spare$DIMS = { 16 };
-
-    /**
-     * Dimensions for array field:
-     * {@snippet lang=c :
-     * unsigned char spare[16]
-     * }
-     */
-    public static long[] spare$dimensions() {
-        return spare$DIMS;
-    }
     private static final VarHandle spare$ELEM_HANDLE = spareLAYOUT.varHandle(sequenceElement());
 
     /**
@@ -1513,7 +857,7 @@ public final class EMRunTime extends StructClass {
      * unsigned char spare[16]
      * }
      */
-    public static byte spare(MemorySegment struct, long index0) {
+    public byte spare(long index0) {
         return (byte)spare$ELEM_HANDLE.get(struct, 0L, index0);
     }
 
@@ -1523,9 +867,7 @@ public final class EMRunTime extends StructClass {
      * unsigned char spare[16]
      * }
      */
-    public static void spare(MemorySegment struct, long index0, byte fieldValue) {
+    public void spare(long index0, byte fieldValue) {
         spare$ELEM_HANDLE.set(struct, 0L, index0, fieldValue);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EchotracSpecific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EchotracSpecific.java
index 626758479a..d20ac6006e 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EchotracSpecific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/EchotracSpecific.java
@@ -28,7 +28,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class EchotracSpecific extends StructClass {
-
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         GSF.C_INT.withName("navigation_error"),
         GSF.C_SHORT.withName("mpp_source"),
@@ -39,10 +38,6 @@ public final class EchotracSpecific extends StructClass {
         super(struct);
     }
 
-    public EchotracSpecific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -50,35 +45,15 @@ public final class EchotracSpecific extends StructClass {
 
     private static final OfInt navigation_errorLAYOUT = (OfInt)LAYOUT.select(groupElement("navigation_error"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int navigation_error
-     * }
-     */
-    public static final OfInt navigation_errorLAYOUT() {
-        return navigation_errorLAYOUT;
-    }
-
     private static final long navigation_error$OFFSET = 0;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int navigation_error
-     * }
-     */
-    public static final long navigation_error$offset() {
-        return navigation_error$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int navigation_error
      * }
      */
-    public static int navigation_error(MemorySegment struct) {
+    public int navigation_error() {
         return struct.get(navigation_errorLAYOUT, navigation_error$OFFSET);
     }
 
@@ -88,41 +63,21 @@ public final class EchotracSpecific extends StructClass {
      * int navigation_error
      * }
      */
-    public static void navigation_error(MemorySegment struct, int fieldValue) {
+    public void navigation_error(int fieldValue) {
         struct.set(navigation_errorLAYOUT, navigation_error$OFFSET, fieldValue);
     }
 
     private static final OfShort mpp_sourceLAYOUT = (OfShort)LAYOUT.select(groupElement("mpp_source"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned short mpp_source
-     * }
-     */
-    public static final OfShort mpp_sourceLAYOUT() {
-        return mpp_sourceLAYOUT;
-    }
-
     private static final long mpp_source$OFFSET = 4;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned short mpp_source
-     * }
-     */
-    public static final long mpp_source$offset() {
-        return mpp_source$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned short mpp_source
      * }
      */
-    public static short mpp_source(MemorySegment struct) {
+    public short mpp_source() {
         return struct.get(mpp_sourceLAYOUT, mpp_source$OFFSET);
     }
 
@@ -132,41 +87,21 @@ public final class EchotracSpecific extends StructClass {
      * unsigned short mpp_source
      * }
      */
-    public static void mpp_source(MemorySegment struct, short fieldValue) {
+    public void mpp_source(short fieldValue) {
         struct.set(mpp_sourceLAYOUT, mpp_source$OFFSET, fieldValue);
     }
 
     private static final OfShort tide_sourceLAYOUT = (OfShort)LAYOUT.select(groupElement("tide_source"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * unsigned short tide_source
-     * }
-     */
-    public static final OfShort tide_sourceLAYOUT() {
-        return tide_sourceLAYOUT;
-    }
-
     private static final long tide_source$OFFSET = 6;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * unsigned short tide_source
-     * }
-     */
-    public static final long tide_source$offset() {
-        return tide_source$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * unsigned short tide_source
      * }
      */
-    public static short tide_source(MemorySegment struct) {
+    public short tide_source() {
         return struct.get(tide_sourceLAYOUT, tide_source$OFFSET);
     }
 
@@ -176,9 +111,7 @@ public final class EchotracSpecific extends StructClass {
      * unsigned short tide_source
      * }
      */
-    public static void tide_source(MemorySegment struct, short fieldValue) {
+    public void tide_source(short fieldValue) {
         struct.set(tide_sourceLAYOUT, tide_source$OFFSET, fieldValue);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/ElacMkIISpecific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/ElacMkIISpecific.java
index 233778183c..6cdb980a4e 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/ElacMkIISpecific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/ElacMkIISpecific.java
@@ -28,7 +28,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class ElacMkIISpecific extends StructClass {
-
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         GSF.C_INT.withName("mode"),
         GSF.C_INT.withName("ping_num"),
@@ -43,10 +42,6 @@ public final class ElacMkIISpecific extends StructClass {
         super(struct);
     }
 
-    public ElacMkIISpecific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -54,35 +49,15 @@ public final class ElacMkIISpecific extends StructClass {
 
     private static final OfInt modeLAYOUT = (OfInt)LAYOUT.select(groupElement("mode"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int mode
-     * }
-     */
-    public static final OfInt modeLAYOUT() {
-        return modeLAYOUT;
-    }
-
     private static final long mode$OFFSET = 0;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int mode
-     * }
-     */
-    public static final long mode$offset() {
-        return mode$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int mode
      * }
      */
-    public static int mode(MemorySegment struct) {
+    public int mode() {
         return struct.get(modeLAYOUT, mode$OFFSET);
     }
 
@@ -92,41 +67,21 @@ public final class ElacMkIISpecific extends StructClass {
      * int mode
      * }
      */
-    public static void mode(MemorySegment struct, int fieldValue) {
+    public void mode(int fieldValue) {
         struct.set(modeLAYOUT, mode$OFFSET, fieldValue);
     }
 
     private static final OfInt ping_numLAYOUT = (OfInt)LAYOUT.select(groupElement("ping_num"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int ping_num
-     * }
-     */
-    public static final OfInt ping_numLAYOUT() {
-        return ping_numLAYOUT;
-    }
-
     private static final long ping_num$OFFSET = 4;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int ping_num
-     * }
-     */
-    public static final long ping_num$offset() {
-        return ping_num$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int ping_num
      * }
      */
-    public static int ping_num(MemorySegment struct) {
+    public int ping_num() {
         return struct.get(ping_numLAYOUT, ping_num$OFFSET);
     }
 
@@ -136,41 +91,21 @@ public final class ElacMkIISpecific extends StructClass {
      * int ping_num
      * }
      */
-    public static void ping_num(MemorySegment struct, int fieldValue) {
+    public void ping_num(int fieldValue) {
         struct.set(ping_numLAYOUT, ping_num$OFFSET, fieldValue);
     }
 
     private static final OfInt sound_velLAYOUT = (OfInt)LAYOUT.select(groupElement("sound_vel"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int sound_vel
-     * }
-     */
-    public static final OfInt sound_velLAYOUT() {
-        return sound_velLAYOUT;
-    }
-
     private static final long sound_vel$OFFSET = 8;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int sound_vel
-     * }
-     */
-    public static final long sound_vel$offset() {
-        return sound_vel$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int sound_vel
      * }
      */
-    public static int sound_vel(MemorySegment struct) {
+    public int sound_vel() {
         return struct.get(sound_velLAYOUT, sound_vel$OFFSET);
     }
 
@@ -180,41 +115,21 @@ public final class ElacMkIISpecific extends StructClass {
      * int sound_vel
      * }
      */
-    public static void sound_vel(MemorySegment struct, int fieldValue) {
+    public void sound_vel(int fieldValue) {
         struct.set(sound_velLAYOUT, sound_vel$OFFSET, fieldValue);
     }
 
     private static final OfInt pulse_lengthLAYOUT = (OfInt)LAYOUT.select(groupElement("pulse_length"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int pulse_length
-     * }
-     */
-    public static final OfInt pulse_lengthLAYOUT() {
-        return pulse_lengthLAYOUT;
-    }
-
     private static final long pulse_length$OFFSET = 12;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int pulse_length
-     * }
-     */
-    public static final long pulse_length$offset() {
-        return pulse_length$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int pulse_length
      * }
      */
-    public static int pulse_length(MemorySegment struct) {
+    public int pulse_length() {
         return struct.get(pulse_lengthLAYOUT, pulse_length$OFFSET);
     }
 
@@ -224,41 +139,21 @@ public final class ElacMkIISpecific extends StructClass {
      * int pulse_length
      * }
      */
-    public static void pulse_length(MemorySegment struct, int fieldValue) {
+    public void pulse_length(int fieldValue) {
         struct.set(pulse_lengthLAYOUT, pulse_length$OFFSET, fieldValue);
     }
 
     private static final OfInt receiver_gain_stbdLAYOUT = (OfInt)LAYOUT.select(groupElement("receiver_gain_stbd"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int receiver_gain_stbd
-     * }
-     */
-    public static final OfInt receiver_gain_stbdLAYOUT() {
-        return receiver_gain_stbdLAYOUT;
-    }
-
     private static final long receiver_gain_stbd$OFFSET = 16;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int receiver_gain_stbd
-     * }
-     */
-    public static final long receiver_gain_stbd$offset() {
-        return receiver_gain_stbd$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int receiver_gain_stbd
      * }
      */
-    public static int receiver_gain_stbd(MemorySegment struct) {
+    public int receiver_gain_stbd() {
         return struct.get(receiver_gain_stbdLAYOUT, receiver_gain_stbd$OFFSET);
     }
 
@@ -268,41 +163,21 @@ public final class ElacMkIISpecific extends StructClass {
      * int receiver_gain_stbd
      * }
      */
-    public static void receiver_gain_stbd(MemorySegment struct, int fieldValue) {
+    public void receiver_gain_stbd(int fieldValue) {
         struct.set(receiver_gain_stbdLAYOUT, receiver_gain_stbd$OFFSET, fieldValue);
     }
 
     private static final OfInt receiver_gain_portLAYOUT = (OfInt)LAYOUT.select(groupElement("receiver_gain_port"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int receiver_gain_port
-     * }
-     */
-    public static final OfInt receiver_gain_portLAYOUT() {
-        return receiver_gain_portLAYOUT;
-    }
-
     private static final long receiver_gain_port$OFFSET = 20;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int receiver_gain_port
-     * }
-     */
-    public static final long receiver_gain_port$offset() {
-        return receiver_gain_port$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int receiver_gain_port
      * }
      */
-    public static int receiver_gain_port(MemorySegment struct) {
+    public int receiver_gain_port() {
         return struct.get(receiver_gain_portLAYOUT, receiver_gain_port$OFFSET);
     }
 
@@ -312,41 +187,21 @@ public final class ElacMkIISpecific extends StructClass {
      * int receiver_gain_port
      * }
      */
-    public static void receiver_gain_port(MemorySegment struct, int fieldValue) {
+    public void receiver_gain_port(int fieldValue) {
         struct.set(receiver_gain_portLAYOUT, receiver_gain_port$OFFSET, fieldValue);
     }
 
     private static final OfInt reservedLAYOUT = (OfInt)LAYOUT.select(groupElement("reserved"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int reserved
-     * }
-     */
-    public static final OfInt reservedLAYOUT() {
-        return reservedLAYOUT;
-    }
-
     private static final long reserved$OFFSET = 24;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int reserved
-     * }
-     */
-    public static final long reserved$offset() {
-        return reserved$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int reserved
      * }
      */
-    public static int reserved(MemorySegment struct) {
+    public int reserved() {
         return struct.get(reservedLAYOUT, reserved$OFFSET);
     }
 
@@ -356,9 +211,7 @@ public final class ElacMkIISpecific extends StructClass {
      * int reserved
      * }
      */
-    public static void reserved(MemorySegment struct, int fieldValue) {
+    public void reserved(int fieldValue) {
         struct.set(reservedLAYOUT, reserved$OFFSET, fieldValue);
     }
-
 }
-
diff --git a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/GeoSwathPlusSpecific.java b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/GeoSwathPlusSpecific.java
index 09bce0ab2f..4c6de0296b 100644
--- a/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/GeoSwathPlusSpecific.java
+++ b/incubator/src/org.apache.sis.storage.gsf/main/org/apache/sis/storage/gsf/specific/GeoSwathPlusSpecific.java
@@ -29,7 +29,6 @@ import org.apache.sis.storage.gsf.StructClass;
  * @author Johann Sorel (Geomatys)
  */
 public final class GeoSwathPlusSpecific extends StructClass {
-
     public static final GroupLayout LAYOUT = MemoryLayout.structLayout(
         GSF.C_INT.withName("data_source"),
         GSF.C_INT.withName("side"),
@@ -66,10 +65,6 @@ public final class GeoSwathPlusSpecific extends StructClass {
         super(struct);
     }
 
-    public GeoSwathPlusSpecific(SegmentAllocator allocator) {
-        super(allocator);
-    }
-
     @Override
     protected MemoryLayout getLayout() {
         return LAYOUT;
@@ -77,35 +72,15 @@ public final class GeoSwathPlusSpecific extends StructClass {
 
     private static final OfInt data_sourceLAYOUT = (OfInt)LAYOUT.select(groupElement("data_source"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int data_source
-     * }
-     */
-    public static final OfInt data_sourceLAYOUT() {
-        return data_sourceLAYOUT;
-    }
-
     private static final long data_source$OFFSET = 0;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int data_source
-     * }
-     */
-    public static final long data_source$offset() {
-        return data_source$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int data_source
      * }
      */
-    public static int data_source(MemorySegment struct) {
+    public int data_source() {
         return struct.get(data_sourceLAYOUT, data_source$OFFSET);
     }
 
@@ -115,41 +90,21 @@ public final class GeoSwathPlusSpecific extends StructClass {
      * int data_source
      * }
      */
-    public static void data_source(MemorySegment struct, int fieldValue) {
+    public void data_source(int fieldValue) {
         struct.set(data_sourceLAYOUT, data_source$OFFSET, fieldValue);
     }
 
     private static final OfInt sideLAYOUT = (OfInt)LAYOUT.select(groupElement("side"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int side
-     * }
-     */
-    public static final OfInt sideLAYOUT() {
-        return sideLAYOUT;
-    }
-
     private static final long side$OFFSET = 4;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int side
-     * }
-     */
-    public static final long side$offset() {
-        return side$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int side
      * }
      */
-    public static int side(MemorySegment struct) {
+    public int side() {
         return struct.get(sideLAYOUT, side$OFFSET);
     }
 
@@ -159,41 +114,21 @@ public final class GeoSwathPlusSpecific extends StructClass {
      * int side
      * }
      */
-    public static void side(MemorySegment struct, int fieldValue) {
+    public void side(int fieldValue) {
         struct.set(sideLAYOUT, side$OFFSET, fieldValue);
     }
 
     private static final OfInt model_numberLAYOUT = (OfInt)LAYOUT.select(groupElement("model_number"));
 
-    /**
-     * Layout for field:
-     * {@snippet lang=c :
-     * int model_number
-     * }
-     */
-    public static final OfInt model_numberLAYOUT() {
-        return model_numberLAYOUT;
-    }
-
     private static final long model_number$OFFSET = 8;
 
-    /**
-     * Offset for field:
-     * {@snippet lang=c :
-     * int model_number
-     * }
-     */
-    public static final long model_number$offset() {
-        return model_number$OFFSET;
-    }
-
     /**
      * Getter for field:
      * {@snippet lang=c :
      * int model_number
      * }
      */
-    public static int model_number(MemorySegment struct) {
+    public int model_number() {
         return struct.get(model_numberLAYOUT, model_number$OFFSET);
     }
 
@@ -203,41 +138,21 @@ public final class GeoSwathPlusSpecific extends StructClass {
      * int model_number
      * }
      */
-    public static void model_number(MemorySegment struct, int fieldValue) {
... 17497 lines suppressed ...