Index: applications/editors/josm/plugins/seachart/src/render/Renderer.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/render/Renderer.java	(revision 32908)
+++ applications/editors/josm/plugins/seachart/src/render/Renderer.java	(revision 32909)
@@ -68,6 +68,6 @@
         if (map != null) {
             if (context.clip()) {
-                Point2D tl = context.getPoint(map.new Snode(map.bounds.maxlat, map.bounds.minlon));
-                Point2D br = context.getPoint(map.new Snode(map.bounds.minlat, map.bounds.maxlon));
+                Point2D tl = context.getPoint(new Snode(map.bounds.maxlat, map.bounds.minlon));
+                Point2D br = context.getPoint(new Snode(map.bounds.minlat, map.bounds.maxlon));
                 g2.clip(new Rectangle2D.Double(tl.getX(), tl.getY(), (br.getX() - tl.getX()), (br.getY() - tl.getY())));
             }
Index: applications/editors/josm/plugins/seachart/src/render/Signals.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/render/Signals.java	(revision 32908)
+++ applications/editors/josm/plugins/seachart/src/render/Signals.java	(revision 32909)
@@ -365,5 +365,5 @@
     }
 
-    class Sect {
+    static class Sect {
         int dir;
         LitCHR chr;
Index: applications/editors/josm/plugins/seachart/src/s57/S57box.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/s57/S57box.java	(revision 32908)
+++ applications/editors/josm/plugins/seachart/src/s57/S57box.java	(revision 32909)
@@ -4,7 +4,10 @@
 import java.util.ArrayList;
 
+import s57.S57map.AttMap;
 import s57.S57map.Edge;
 import s57.S57map.Feature;
+import s57.S57map.ObjTab;
 import s57.S57map.Pflag;
+import s57.S57map.Prim;
 import s57.S57map.Rflag;
 import s57.S57map.Snode;
@@ -67,10 +70,10 @@
             }
             for (Feature feature : map.features.get(Obj.COALNE)) {
-                Feature land = map.new Feature();
+                Feature land = new Feature();
                 land.id = ++map.xref;
                 land.type = Obj.LNDARE;
                 land.reln = Rflag.MASTER;
-                land.objs.put(Obj.LNDARE, map.new ObjTab());
-                land.objs.get(Obj.LNDARE).put(0, map.new AttMap());
+                land.objs.put(Obj.LNDARE, new ObjTab());
+                land.objs.get(Obj.LNDARE).put(0, new AttMap());
                 if (feature.geom.prim == Pflag.AREA) {
                     land.geom = feature.geom;
@@ -139,5 +142,5 @@
             }
             for (Land land : lands) {
-                Edge nedge = map.new Edge();
+                Edge nedge = new Edge();
                 nedge.first = land.last;
                 nedge.last = land.first;
@@ -166,5 +169,5 @@
                 }
                 map.edges.put(++map.xref, nedge);
-                land.land.geom.elems.add(map.new Prim(map.xref));
+                land.land.geom.elems.add(new Prim(map.xref));
                 land.land.geom.comps.get(0).size++;
                 land.land.geom.prim = Pflag.AREA;
@@ -173,6 +176,4 @@
         }
         return;
-
     }
-
 }
Index: applications/editors/josm/plugins/seachart/src/s57/S57dat.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/s57/S57dat.java	(revision 32908)
+++ applications/editors/josm/plugins/seachart/src/s57/S57dat.java	(revision 32909)
@@ -3,4 +3,5 @@
 
 import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -378,5 +379,5 @@
             buf[buf.length-1] = 0x1e;
             int flen = buf.length - offset;
-            index.add(new Index(sfparams.field.toString().getBytes(), flen, offset));
+            index.add(new Index(sfparams.field.toString().getBytes(StandardCharsets.UTF_8), flen, offset));
             maxlen = (flen > maxlen) ? flen : maxlen;
             offset += flen;
Index: applications/editors/josm/plugins/seachart/src/s57/S57enc.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/s57/S57enc.java	(revision 32908)
+++ applications/editors/josm/plugins/seachart/src/s57/S57enc.java	(revision 32909)
@@ -315,5 +315,5 @@
                         Object[] attf = new Object[0];
                         Object[] natf = new Object[0];
-                        AttMap atts = map.new AttMap();
+                        AttMap atts = new AttMap();
                         atts.putAll(object.getValue());
                         if (master) {
Index: applications/editors/josm/plugins/seachart/src/s57/S57map.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/s57/S57map.java	(revision 32908)
+++ applications/editors/josm/plugins/seachart/src/s57/S57map.java	(revision 32909)
@@ -18,5 +18,5 @@
     // CHECKSTYLE.OFF: LineLength
 
-    public class MapBounds {
+    public static class MapBounds {
         public double minlat;
         public double minlon;
@@ -39,5 +39,5 @@
     }
 
-    public class Snode {    // All coordinates in map
+    public static class Snode {    // All coordinates in map
         public double lat;    // Latitude in radians
         public double lon;    // Longitude in radians
@@ -74,5 +74,5 @@
     }
 
-    public class Edge {        // A polyline segment
+    public static class Edge {        // A polyline segment
         public long first;    // First CONN node
         public long last;        // Last CONN node
@@ -90,5 +90,5 @@
     }
 
-    public class Reln {
+    public static class Reln {
         public long id;
         public Rflag reln;
@@ -99,5 +99,5 @@
     }
 
-    public class RelTab extends ArrayList<Reln> {
+    public static class RelTab extends ArrayList<Reln> {
         public RelTab() {
             super();
@@ -105,5 +105,5 @@
     }
 
-    public class ObjTab extends HashMap<Integer, AttMap> {
+    public static class ObjTab extends HashMap<Integer, AttMap> {
         public ObjTab() {
             super();
@@ -111,5 +111,5 @@
     }
 
-    public class ObjMap extends EnumMap<Obj, ObjTab> {
+    public static class ObjMap extends EnumMap<Obj, ObjTab> {
         public ObjMap() {
             super(Obj.class);
@@ -117,5 +117,5 @@
     }
 
-    public class AttMap extends HashMap<Att, AttVal<?>> {
+    public static class AttMap extends HashMap<Att, AttVal<?>> {
         public AttMap() {
             super();
@@ -123,5 +123,5 @@
     }
 
-    public class NodeTab extends HashMap<Long, Snode> {
+    public static class NodeTab extends HashMap<Long, Snode> {
         public NodeTab() {
             super();
@@ -129,5 +129,5 @@
     }
 
-    public class EdgeTab extends HashMap<Long, Edge> {
+    public static class EdgeTab extends HashMap<Long, Edge> {
         public EdgeTab() {
             super();
@@ -135,5 +135,5 @@
     }
 
-    public class FtrMap extends EnumMap<Obj, ArrayList<Feature>> {
+    public static class FtrMap extends EnumMap<Obj, ArrayList<Feature>> {
         public FtrMap() {
             super(Obj.class);
@@ -141,5 +141,5 @@
     }
 
-    public class FtrTab extends HashMap<Long, Feature> {
+    public static class FtrTab extends HashMap<Long, Feature> {
         public FtrTab() {
             super();
@@ -147,5 +147,5 @@
     }
 
-    public class Prim {                // Spatial element
+    public static class Prim {                // Spatial element
         public long id;                    // Snode ID for POINTs, Edge ID for LINEs & AREAs)
         public boolean forward;    // Direction of vector used (LINEs & AREAs)
@@ -173,5 +173,5 @@
     }
 
-    public class Comp {            // Composite spatial element
+    public static class Comp {            // Composite spatial element
         public long ref;            // ID of Comp
         public int size;            // Number of Prims in this Comp
@@ -186,5 +186,5 @@
     }
 
-    public class Geom {                            // Geometric structure of feature
+    public static class Geom {                            // Geometric structure of feature
         public Pflag prim;                        // Geometry type
         public ArrayList<Prim> elems;    // Ordered list of elements
@@ -206,5 +206,5 @@
     }
 
-    public class Feature {
+    public static class Feature {
         public long id;                // Ref for this feature
         public Rflag reln;        // Relationship status
Index: applications/editors/josm/plugins/seachart/src/s57/S57osm.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/s57/S57osm.java	(revision 32908)
+++ applications/editors/josm/plugins/seachart/src/s57/S57osm.java	(revision 32909)
@@ -7,4 +7,5 @@
 
 import s57.S57att.Att;
+import s57.S57map.Snode;
 import s57.S57obj.Obj;
 import s57.S57val.CatBUA;
@@ -103,8 +104,8 @@
         boolean inWay = false;
         boolean inRel = false;
-        map.nodes.put(1L, map.new Snode());
-        map.nodes.put(2L, map.new Snode());
-        map.nodes.put(3L, map.new Snode());
-        map.nodes.put(4L, map.new Snode());
+        map.nodes.put(1L, new Snode());
+        map.nodes.put(2L, new Snode());
+        map.nodes.put(3L, new Snode());
+        map.nodes.put(4L, new Snode());
 
         String ln;
