Index: applications/editors/josm/plugins/seachart/.project
===================================================================
--- applications/editors/josm/plugins/seachart/.project	(revision 34651)
+++ applications/editors/josm/plugins/seachart/.project	(revision 34652)
@@ -16,13 +16,7 @@
 			</arguments>
 		</buildCommand>
-		<buildCommand>
-			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
 	</natures>
 </projectDescription>
Index: applications/editors/josm/plugins/seachart/src/render/Renderer.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/render/Renderer.java	(revision 34651)
+++ applications/editors/josm/plugins/seachart/src/render/Renderer.java	(revision 34652)
@@ -423,7 +423,7 @@
         if (delta == null) delta = new Delta(Handle.CC);
         if (bg == null) bg = new Color(0x00000000, true);
-        if ((str == null) || (str.isEmpty())) str = " ";
+        if (str == null || str.isEmpty()) str = " ";
         FontRenderContext frc = g2.getFontRenderContext();
-        GlyphVector gv = font.deriveFont((float) (font.getSize())).createGlyphVector(frc, str.equals(" ") ? "M" : str);
+        GlyphVector gv = font.deriveFont((float) font.getSize()).createGlyphVector(frc, str.equals(" ") ? "M" : str);
         Rectangle2D bounds = gv.getVisualBounds();
         double width = bounds.getWidth();
@@ -593,5 +593,5 @@
                     pos.translate((mid.getX() - centre.getX()), (mid.getY() - centre.getY()));
                     Symbol label = new Symbol();
-                    label.add(new Instr(Form.BBOX, new Rectangle2D.Double((-width / 2), (-height), width, height)));
+                    label.add(new Instr(Form.BBOX, new Rectangle2D.Double((-width / 2), -height, width, height)));
                     label.add(new Instr(Form.TEXT, new Caption(str, font, colour, new Delta(Handle.BC))));
                     Symbols.drawSymbol(g2, label, sScale, centre.getX(), centre.getY(), null, new Delta(Handle.BC, pos));
@@ -603,5 +603,5 @@
     public static void lightSector(Color col1, Color col2, double radius, double s1, double s2, Double dir, String str) {
         if ((zoom >= 16) && (radius > 0.2)) {
-            radius /= (Math.pow(2, zoom-15));
+            radius /= Math.pow(2, zoom-15);
         }
         double mid = (((s1 + s2) / 2) + (s1 > s2 ? 180 : 0)) % 360;
@@ -632,5 +632,5 @@
                     2 * (radial - arcWidth), -(s1 + 90), ((s1 < s2) ? (s1 - s2) : (s1 - s2 - 360)), Arc2D.OPEN));
         }
-        if ((str != null) && (!str.isEmpty())) {
+        if (str != null && !str.isEmpty()) {
             Font font = new Font("Arial", Font.PLAIN, 40);
             double arc = (s2 > s1) ? (s2 - s1) : (s2 - s1 + 360);
Index: applications/editors/josm/plugins/seachart/src/render/Rules.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/render/Rules.java	(revision 34651)
+++ applications/editors/josm/plugins/seachart/src/render/Rules.java	(revision 34652)
@@ -546,5 +546,5 @@
 					Renderer.symbol(Beacons.Stake, getScheme(feature.type));
 				}
-			} else if ((shape == BcnSHP.BCN_PRCH) && (feature.type == Obj.BCNLAT) && !(feature.objs.containsKey(Obj.TOPMAR))) {
+			} else if (shape == BcnSHP.BCN_PRCH && feature.type == Obj.BCNLAT && !feature.objs.containsKey(Obj.TOPMAR)) {
 				switch ((CatLAM) getAttEnum(feature.type, Att.CATLAM)) {
 				case LAM_PORT:
@@ -565,10 +565,10 @@
 					}
 					if (topmap.containsKey(Att.TOPSHP)) {
-						Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) (topmap.get(Att.TOPSHP).val)).get(0)), getScheme(Obj.TOPMAR), Topmarks.BeaconDelta);
+						Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) topmap.get(Att.TOPSHP).val).get(0)), getScheme(Obj.TOPMAR), Topmarks.BeaconDelta);
 					}
 				} else if (feature.objs.containsKey(Obj.DAYMAR)) {
 					AttMap topmap = feature.objs.get(Obj.DAYMAR).get(0);
 					if (topmap.containsKey(Att.TOPSHP)) {
-						Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) (topmap.get(Att.TOPSHP).val)).get(0)), getScheme(Obj.DAYMAR), Topmarks.BeaconDelta);
+						Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) topmap.get(Att.TOPSHP).val).get(0)), getScheme(Obj.DAYMAR), Topmarks.BeaconDelta);
 					}
 				}
@@ -591,10 +591,10 @@
 				AttMap topmap = feature.objs.get(Obj.TOPMAR).get(0);
 				if (topmap.containsKey(Att.TOPSHP)) {
-					Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) (topmap.get(Att.TOPSHP).val)).get(0)), getScheme(Obj.TOPMAR), Topmarks.BuoyDeltas.get(shape));
+					Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) topmap.get(Att.TOPSHP).val).get(0)), getScheme(Obj.TOPMAR), Topmarks.BuoyDeltas.get(shape));
 				}
 			} else if (feature.objs.containsKey(Obj.DAYMAR)) {
 				AttMap topmap = feature.objs.get(Obj.DAYMAR).get(0);
 				if (topmap.containsKey(Att.TOPSHP)) {
-					Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) (topmap.get(Att.TOPSHP).val)).get(0)), getScheme(Obj.DAYMAR), Topmarks.BuoyDeltas.get(shape));
+					Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) topmap.get(Att.TOPSHP).val).get(0)), getScheme(Obj.DAYMAR), Topmarks.BuoyDeltas.get(shape));
 				}
 			}
@@ -649,5 +649,5 @@
 			} else if (feature.type == Obj.CBLOHD) {
 				AttMap atts = feature.objs.get(Obj.CBLOHD).get(0);
-				if ((atts != null) && (atts.containsKey(Att.CATCBL)) && (atts.get(Att.CATCBL).val == CatCBL.CBL_POWR)) {
+				if (atts != null && atts.containsKey(Att.CATCBL) && atts.get(Att.CATCBL).val == CatCBL.CBL_POWR) {
 					Renderer.lineSymbols(Areas.CableDash, 0, Areas.CableDot, Areas.CableFlash, 2, Color.black);
 				} else {
@@ -724,5 +724,5 @@
 			if (Renderer.zoom >= 15) {
 				AttMap atts = getAtts(Obj.DISMAR, 0);
-				if ((atts != null) && (atts.containsKey(Att.WTWDIS))) {
+				if (atts != null && atts.containsKey(Att.WTWDIS)) {
 					Double dist = (Double) atts.get(Att.WTWDIS).val;
 					String str = "";
@@ -777,10 +777,10 @@
 				AttMap topmap = feature.objs.get(Obj.TOPMAR).get(0);
 				if (topmap.containsKey(Att.TOPSHP)) {
-					Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) (topmap.get(Att.TOPSHP).val)).get(0)), getScheme(Obj.TOPMAR), Topmarks.FloatDelta);
+					Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) topmap.get(Att.TOPSHP).val).get(0)), getScheme(Obj.TOPMAR), Topmarks.FloatDelta);
 				}
 			} else if (feature.objs.containsKey(Obj.DAYMAR)) {
 				AttMap topmap = feature.objs.get(Obj.DAYMAR).get(0);
 				if (topmap.containsKey(Att.TOPSHP)) {
-					Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) (topmap.get(Att.TOPSHP).val)).get(0)), getScheme(Obj.DAYMAR), Topmarks.FloatDelta);
+					Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) topmap.get(Att.TOPSHP).val).get(0)), getScheme(Obj.DAYMAR), Topmarks.FloatDelta);
 				}
 			}
@@ -830,5 +830,5 @@
 				addName(15, new Font("Arial", Font.BOLD, 60), Symbols.Mline, new Delta(Handle.LC, AffineTransform.getTranslateInstance(70, 0)));
 				ArrayList<StsSTS> sts = (ArrayList<StsSTS>) getAttList(Obj.ACHARE, Att.STATUS);
-				if ((Renderer.zoom >= 15) && (sts.contains(StsSTS.STS_RESV))) {
+				if (Renderer.zoom >= 15 && sts.contains(StsSTS.STS_RESV)) {
 					Renderer.labelText("Reserved", new Font("Arial", Font.PLAIN, 50), Symbols.Mline, new Delta(Handle.TC, AffineTransform.getTranslateInstance(0, 60)));
 				}
@@ -923,5 +923,5 @@
 		switch (feature.type) {
 		case ROADWY:
-			ArrayList<CatROD> cat = (ArrayList<CatROD>) (getAttList(Obj.ROADWY, Att.CATROD));
+			ArrayList<CatROD> cat = (ArrayList<CatROD>) getAttList(Obj.ROADWY, Att.CATROD);
 			if (cat.size() > 0) {
 				switch (cat.get(0)) {
@@ -1018,10 +1018,10 @@
 				AttMap topmap = feature.objs.get(Obj.TOPMAR).get(0);
 				if (topmap.containsKey(Att.TOPSHP)) {
-					Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) (topmap.get(Att.TOPSHP).val)).get(0)), getScheme(Obj.TOPMAR), Topmarks.LightDelta);
+					Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) topmap.get(Att.TOPSHP).val).get(0)), getScheme(Obj.TOPMAR), Topmarks.LightDelta);
 				}
 			} else if (feature.objs.containsKey(Obj.DAYMAR)) {
 				AttMap topmap = feature.objs.get(Obj.DAYMAR).get(0);
 				if (topmap.containsKey(Att.TOPSHP)) {
-					Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) (topmap.get(Att.TOPSHP).val)).get(0)), getScheme(Obj.DAYMAR), Topmarks.LightDelta);
+					Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) topmap.get(Att.TOPSHP).val).get(0)), getScheme(Obj.DAYMAR), Topmarks.LightDelta);
 				}
 			}
@@ -1108,15 +1108,15 @@
 				for (AttMap atts : objs.values()) {
 					if (atts.get(Att.MARSYS) != null)
-						sys = ((ArrayList<MarSYS>) (atts.get(Att.MARSYS).val)).get(0);
+						sys = ((ArrayList<MarSYS>) atts.get(Att.MARSYS).val).get(0);
 					if (atts.get(Att.BNKWTW) != null)
-						bnk = ((ArrayList<BnkWTW>) (atts.get(Att.BNKWTW).val)).get(0);
+						bnk = ((ArrayList<BnkWTW>) atts.get(Att.BNKWTW).val).get(0);
 					CatNMK cat = CatNMK.NMK_UNKN;
 					if (atts.get(Att.CATNMK) != null)
-						cat = ((ArrayList<CatNMK>) (atts.get(Att.CATNMK).val)).get(0);
+						cat = ((ArrayList<CatNMK>) atts.get(Att.CATNMK).val).get(0);
 					Symbol sym = Notices.getNotice(cat, sys, bnk);
 					Scheme sch = Notices.getScheme(sys, bnk);
 					ArrayList<AddMRK> add = new ArrayList<>();
 					if (atts.get(Att.ADDMRK) != null)
-						add = (ArrayList<AddMRK>) (atts.get(Att.ADDMRK).val);
+						add = (ArrayList<AddMRK>) atts.get(Att.ADDMRK).val;
 					Handle h = Handle.CC;
 					double ax = 0.0;
@@ -1254,10 +1254,10 @@
 				AttMap topmap = feature.objs.get(Obj.TOPMAR).get(0);
 				if (topmap.containsKey(Att.TOPSHP)) {
-					Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) (topmap.get(Att.TOPSHP).val)).get(0)), getScheme(Obj.TOPMAR), null);
+					Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) topmap.get(Att.TOPSHP).val).get(0)), getScheme(Obj.TOPMAR), null);
 				}
 			} else if (feature.objs.containsKey(Obj.DAYMAR)) {
 				AttMap topmap = feature.objs.get(Obj.DAYMAR).get(0);
 				if (topmap.containsKey(Att.TOPSHP)) {
-					Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) (topmap.get(Att.TOPSHP).val)).get(0)), getScheme(Obj.DAYMAR), null);
+					Renderer.symbol(Topmarks.Shapes.get(((ArrayList<TopSHP>) topmap.get(Att.TOPSHP).val).get(0)), getScheme(Obj.DAYMAR), null);
 				}
 			}
Index: applications/editors/josm/plugins/seachart/src/render/Signals.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/render/Signals.java	(revision 34651)
+++ applications/editors/josm/plugins/seachart/src/render/Signals.java	(revision 34652)
@@ -125,5 +125,5 @@
 			case BCNSAW:
 			case BCNSPP:
-				if ((feature.objs.containsKey(Obj.TOPMAR)) || (feature.objs.containsKey(Obj.DAYMAR))) {
+				if (feature.objs.containsKey(Obj.TOPMAR) || feature.objs.containsKey(Obj.DAYMAR)) {
 					Renderer.symbol(Topmarks.RadarReflector, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -140)));
 				} else {
@@ -134,5 +134,5 @@
 			case LITVES:
 			case BOYINB:
-				if ((feature.objs.containsKey(Obj.TOPMAR)) || (feature.objs.containsKey(Obj.DAYMAR))) {
+				if (feature.objs.containsKey(Obj.TOPMAR) || feature.objs.containsKey(Obj.DAYMAR)) {
 					Renderer.symbol(Topmarks.RadarReflector, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -110)));
 				} else {
@@ -142,5 +142,5 @@
 			case LITMAJ:
 			case LITMIN:
-				if ((feature.objs.containsKey(Obj.TOPMAR)) || (feature.objs.containsKey(Obj.DAYMAR))) {
+				if (feature.objs.containsKey(Obj.TOPMAR) || feature.objs.containsKey(Obj.DAYMAR)) {
 					Renderer.symbol(Topmarks.RadarReflector, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -90)));
 				} else {
@@ -153,5 +153,5 @@
 			case BOYSAW:
 			case BOYSPP:
-				if ((feature.objs.containsKey(Obj.TOPMAR)) || (feature.objs.containsKey(Obj.DAYMAR))) {
+				if (feature.objs.containsKey(Obj.TOPMAR) || feature.objs.containsKey(Obj.DAYMAR)) {
 					if (testAttribute(feature.type, Att.BOYSHP, BoySHP.BOY_PILR) || testAttribute(feature.type, Att.BOYSHP, BoySHP.BOY_SPAR)) {
 						Renderer.symbol(Topmarks.RadarReflector, new Delta(Handle.BC, AffineTransform.getTranslateInstance(50, -160)));
@@ -181,5 +181,5 @@
 				String str = "";
 				if (atts.containsKey(Att.CATFOG)) {
-					str += fogSignals.get(((ArrayList<?>) (atts.get(Att.CATFOG).val)).get(0));
+					str += fogSignals.get(((ArrayList<?>) atts.get(Att.CATFOG).val).get(0));
 				}
 				if (atts.containsKey(Att.SIGGRP)) {
@@ -440,5 +440,5 @@
 										continue;
 									if (srad == radius) {
-										ArrayList<CatLIT> scats = (ArrayList<CatLIT>) ((satts.containsKey(Att.CATLIT)) ? (ArrayList<CatLIT>) satts.get(Att.CATLIT).val : new ArrayList<>());
+										ArrayList<CatLIT> scats = (ArrayList<CatLIT>) (satts.containsKey(Att.CATLIT) ? (ArrayList<CatLIT>) satts.get(Att.CATLIT).val : new ArrayList<>());
 										if (scats.contains(CatLIT.LIT_DIR)) {
 											if (satts.containsKey(Att.ORIENT)) {
@@ -557,5 +557,5 @@
 						for (ArrayList<LitSect> group : groupings) {
 							LitSect mem = group.get(0);
-							if ((lit.dir == mem.dir) && (lit.chr == mem.chr) && (lit.grp.equals(mem.grp)) && (lit.per == mem.per) && (lit.hgt == mem.hgt)) {
+							if (lit.dir == mem.dir && lit.chr == mem.chr && lit.grp.equals(mem.grp) && lit.per == mem.per && lit.hgt == mem.hgt) {
 								group.add(lit);
 								found = true;
@@ -616,5 +616,5 @@
 						}
 						LitSect tmp = group.get(0);
-						str = (tmp.dir) ? "Dir" : "";
+						str = tmp.dir ? "Dir" : "";
 						str += LightCharacters.get(tmp.chr);
 						if (!tmp.grp.isEmpty())
@@ -645,6 +645,6 @@
 						cats = (ArrayList<CatLIT>) atts.get(Att.CATLIT).val;
 					}
-					str = (cats.contains(CatLIT.LIT_DIR)) ? "Dir" : "";
-					str += (atts.containsKey(Att.MLTYLT)) ? atts.get(Att.MLTYLT).val : "";
+					str = cats.contains(CatLIT.LIT_DIR) ? "Dir" : "";
+					str += atts.containsKey(Att.MLTYLT) ? atts.get(Att.MLTYLT).val : "";
 					if (atts.containsKey(Att.LITCHR)) {
 						LitCHR chr = ((ArrayList<LitCHR>) atts.get(Att.LITCHR).val).get(0);
@@ -680,14 +680,14 @@
 						}
 					}
-					str += (cats.contains(CatLIT.LIT_VERT)) ? "(vert)" : "";
-					str += (cats.contains(CatLIT.LIT_HORI)) ? "(hor)" : "";
+					str += cats.contains(CatLIT.LIT_VERT) ? "(vert)" : "";
+					str += cats.contains(CatLIT.LIT_HORI) ? "(hor)" : "";
 					str += (!str.isEmpty() && (atts.containsKey(Att.SIGPER) || atts.containsKey(Att.HEIGHT) || atts.containsKey(Att.VALMXR)) && !str.endsWith(")")) ? "." : "";
-					str += (atts.containsKey(Att.SIGPER)) ? df.format(atts.get(Att.SIGPER).val) + "s" : "";
-					str += (atts.containsKey(Att.HEIGHT)) ? df.format(atts.get(Att.HEIGHT).val) + "m" : "";
-					str += (atts.containsKey(Att.VALNMR)) ? df.format(atts.get(Att.VALNMR).val) + "M" : "";
-					str += (cats.contains(CatLIT.LIT_FRNT)) ? "(Front)" : "";
-					str += (cats.contains(CatLIT.LIT_REAR)) ? "(Rear)" : "";
-					str += (cats.contains(CatLIT.LIT_UPPR)) ? "(Upper)" : "";
-					str += (cats.contains(CatLIT.LIT_LOWR)) ? "(Lower)" : "";
+					str += atts.containsKey(Att.SIGPER) ? df.format(atts.get(Att.SIGPER).val) + "s" : "";
+					str += atts.containsKey(Att.HEIGHT) ? df.format(atts.get(Att.HEIGHT).val) + "m" : "";
+					str += atts.containsKey(Att.VALNMR) ? df.format(atts.get(Att.VALNMR).val) + "M" : "";
+					str += cats.contains(CatLIT.LIT_FRNT) ? "(Front)" : "";
+					str += cats.contains(CatLIT.LIT_REAR) ? "(Rear)" : "";
+					str += cats.contains(CatLIT.LIT_UPPR) ? "(Upper)" : "";
+					str += cats.contains(CatLIT.LIT_LOWR) ? "(Lower)" : "";
 					Renderer.labelText(str, new Font("Arial", Font.PLAIN, 40), Color.black, new Delta(Handle.TL, AffineTransform.getTranslateInstance(60, -30)));
 				}
Index: applications/editors/josm/plugins/seachart/src/s57/S57map.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/s57/S57map.java	(revision 34651)
+++ applications/editors/josm/plugins/seachart/src/s57/S57map.java	(revision 34652)
@@ -908,5 +908,5 @@
                             first = false;
                         } else {
-                            sarc += (Math.acos(Math.cos(lon - llon) * Math.cos(lat - llat)));
+                            sarc += Math.acos(Math.cos(lon - llon) * Math.cos(lat - llat));
                         }
                         llat = lat;
@@ -931,5 +931,5 @@
                             first = false;
                         } else {
-                            sarc = (Math.acos(Math.cos(lon - llon) * Math.cos(lat - llat)));
+                            sarc = Math.acos(Math.cos(lon - llon) * Math.cos(lat - llat));
                             if (sarc > harc)
                                 break;
Index: applications/editors/josm/plugins/seachart/src/s57/S57obj.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/s57/S57obj.java	(revision 34651)
+++ applications/editors/josm/plugins/seachart/src/s57/S57obj.java	(revision 34652)
@@ -163,5 +163,5 @@
 
     public static Obj enumType(String type) { // Convert OSM object string to SCM object enumeration
-        if ((type != null) && !type.isEmpty() && (StrObj.containsKey(type)))
+        if (type != null && !type.isEmpty() && StrObj.containsKey(type))
             return StrObj.get(type);
         else
Index: applications/editors/josm/plugins/seachart/src/s57/S57osm.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/s57/S57osm.java	(revision 34651)
+++ applications/editors/josm/plugins/seachart/src/s57/S57osm.java	(revision 34652)
@@ -9,5 +9,4 @@
 import s57.S57map.Snode;
 import s57.S57obj.Obj;
-import s57.S57val.CatBUA;
 import s57.S57val.CatROD;
 import s57.S57val.Conv;
@@ -131,5 +130,5 @@
                     }
                 } else {
-                    if ((inNode || inWay || inRel) && (ln.contains("<tag"))) {
+                    if ((inNode || inWay || inRel) && ln.contains("<tag")) {
                         k = v = "";
                         String[] token = ln.split("k=");
@@ -205,9 +204,9 @@
                                     ref = Long.parseLong(token.split("[\"\']")[1]);
                                 } else if (token.matches("^type=.+")) {
-                                    type = (token.split("[\"\']")[1]);
+                                    type = token.split("[\"\']")[1];
                                 } else if (token.matches("^role=.+")) {
                                     String[] str = token.split("[\"\']");
                                     if (str.length > 1) {
-                                        role = (token.split("[\"\']")[1]);
+                                        role = token.split("[\"\']")[1];
                                     }
                                 }
Index: applications/editors/josm/plugins/seachart/src/s57/S57val.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/s57/S57val.java	(revision 34651)
+++ applications/editors/josm/plugins/seachart/src/s57/S57val.java	(revision 34652)
@@ -1654,5 +1654,5 @@
 
     public static Enum<?> unknAtt(Att att) {
-        return (Enum<?>) (keys.get(att).map.keySet().toArray()[0]);
+        return (Enum<?>) keys.get(att).map.keySet().toArray()[0];
     }
 }
Index: applications/editors/josm/plugins/seachart/src/seachart/SeachartAction.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/seachart/SeachartAction.java	(revision 34651)
+++ applications/editors/josm/plugins/seachart/src/seachart/SeachartAction.java	(revision 34652)
@@ -203,5 +203,5 @@
                     map.addEdge(way.getUniqueId());
                     for (Node node : way.getNodes()) {
-                        map.addToEdge((node.getUniqueId()));
+                        map.addToEdge(node.getUniqueId());
                     }
                     for (Entry<String, String> entry : way.getKeys().entrySet()) {
@@ -216,5 +216,5 @@
                     for (RelationMember mem : rel.getMembers()) {
                         if (mem.getType() == OsmPrimitiveType.WAY)
-                            map.addToArea(mem.getUniqueId(), (mem.getRole().equals("outer")));
+                            map.addToArea(mem.getUniqueId(), mem.getRole().equals("outer"));
                     }
                     for (Entry<String, String> entry : rel.getKeys().entrySet()) {
Index: applications/editors/josm/plugins/seachart/src/symbols/Symbols.java
===================================================================
--- applications/editors/josm/plugins/seachart/src/symbols/Symbols.java	(revision 34651)
+++ applications/editors/josm/plugins/seachart/src/symbols/Symbols.java	(revision 34652)
@@ -186,6 +186,6 @@
         if (cs != null) {
             if ((cs.pat.size() > 0) && (cs.col.size() > 0) && (cs.pat.get(0) == Patt.B)) {
-                bpat = (cs.pat.remove(0));
-                bcol = (cs.col.remove(0));
+                bpat = cs.pat.remove(0);
+                bcol = cs.col.remove(0);
             }
             pn = cs.pat.size();
