Index: trunk/src/org/openstreetmap/josm/data/validation/routines/EmailValidator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/routines/EmailValidator.java	(revision 9996)
+++ trunk/src/org/openstreetmap/josm/data/validation/routines/EmailValidator.java	(revision 9997)
@@ -137,15 +137,4 @@
 
     /**
-     * Protected constructor for subclasses to use.
-     *
-     * @param allowLocal Should local addresses be considered valid?
-     */
-    protected EmailValidator(boolean allowLocal) {
-        super();
-        this.allowLocal = allowLocal;
-        this.allowTld = false;
-    }
-
-    /**
      * <p>Checks if a field has a valid e-mail address.</p>
      *
Index: trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java	(revision 9996)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java	(revision 9997)
@@ -16,4 +16,5 @@
 import java.util.Collection;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Locale;
@@ -128,9 +129,9 @@
     protected static final int MISSPELLED_KEY    = 1213;
     protected static final int MULTIPLE_SPACES   = 1214;
-    /** 1250 and up is used by tagcheck */
+    // 1250 and up is used by tagcheck
 
     protected EditableList sourcesList;
 
-    private static final List<String> DEFAULT_SOURCES = Arrays.asList(/*DATA_FILE, */IGNORE_FILE, SPELL_FILE);
+    private static final Set<String> DEFAULT_SOURCES = new HashSet<>(Arrays.asList(/*DATA_FILE, */IGNORE_FILE, SPELL_FILE));
 
     /**
Index: trunk/src/org/openstreetmap/josm/gui/MapFrame.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MapFrame.java	(revision 9996)
+++ trunk/src/org/openstreetmap/josm/gui/MapFrame.java	(revision 9997)
@@ -131,17 +131,31 @@
 
     // Toggle dialogs
+
+    /** Conflict dialog */
     public ConflictDialog conflictDialog;
+    /** Filter dialog */
     public FilterDialog filterDialog;
+    /** Relation list dialog */
     public RelationListDialog relationListDialog;
+    /** Validator dialog */
     public ValidatorDialog validatorDialog;
+    /** Selection list dialog */
     public SelectionListDialog selectionListDialog;
+    /** Properties dialog */
     public PropertiesDialog propertiesDialog;
+    /** Map paint dialog */
     public MapPaintDialog mapPaintDialog;
+    /** Notes dialog */
     public NotesDialog noteDialog;
 
     // Map modes
+
+    /** Select mode */
     public final SelectAction mapModeSelect;
+    /** Draw mode */
     public final DrawAction mapModeDraw;
+    /** Zoom mode */
     public final ZoomAction mapModeZoom;
+    /** Select Lasso mode */
     public LassoModeAction mapModeSelectLasso;
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RelationEditor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RelationEditor.java	(revision 9996)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RelationEditor.java	(revision 9997)
@@ -6,5 +6,4 @@
 import java.beans.PropertyChangeListener;
 import java.beans.PropertyChangeSupport;
-import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
@@ -105,6 +104,5 @@
                 Boolean canEdit = (Boolean) m.invoke(null, r);
                 if (canEdit) {
-                    Constructor<RelationEditor> con = e.getConstructor(Relation.class, Collection.class);
-                    return con.newInstance(layer, r, selectedMembers);
+                    return e.getConstructor(Relation.class, Collection.class).newInstance(layer, r, selectedMembers);
                 }
             } catch (Exception ex) {
Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 9996)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 9997)
@@ -1391,5 +1391,5 @@
             } catch (NumberFormatException nfe) {
                 // Invalid timezone
-                throw new ParseException(error, 0);
+                throw (ParseException) new ParseException(error, 0).initCause(nfe);
             }
 
@@ -1459,5 +1459,5 @@
                     return Offset.milliseconds(Math.round(Double.parseDouble(offset) * 1000));
                 } catch (NumberFormatException nfe) {
-                    throw new ParseException(error, 0);
+                    throw (ParseException) new ParseException(error, 0).initCause(nfe);
                 }
             } else {
Index: trunk/src/org/openstreetmap/josm/io/CertificateAmendment.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/CertificateAmendment.java	(revision 9996)
+++ trunk/src/org/openstreetmap/josm/io/CertificateAmendment.java	(revision 9997)
@@ -38,15 +38,21 @@
  *
  * The certificates are added in-memory at each start, nothing is written to disk.
+ * @since 9995
  */
-public class CertificateAmendment {
+public final class CertificateAmendment {
 
-    public static final String[] CERT_AMEND = { 
+    private static final String[] CERT_AMEND = {
         "resource://data/security/DST_Root_CA_X3.pem",
         "resource://data/security/StartCom_Certification_Authority.pem"
     };
-    public static final String[] SHA_HASHES = {
+
+    private static final String[] SHA_HASHES = {
         "139a5e4a4e0fa505378c72c5f700934ce8333f4e6b1b508886c4b0eb14f4be99",
         "916a8f9232328192968c81c8edb672fa539f726861dfe379ca722050e19962cd"
     };
+
+    private CertificateAmendment() {
+        // Hide default constructor for utility classes
+    }
 
     /**
@@ -81,5 +87,4 @@
         for (int i = 0; i < CERT_AMEND.length; i++) {
             CachedFile certCF = new CachedFile(CERT_AMEND[i]);
-            byte[] certBytes = certCF.getByteContent();
             MessageDigest md;
             try {
@@ -88,4 +93,5 @@
                 throw new RuntimeException(ex);
             }
+            byte[] certBytes = certCF.getByteContent();
             byte[] sha = md.digest(certBytes);
             if (!SHA_HASHES[i].equals(Utils.toHexString(sha)))
@@ -131,5 +137,4 @@
      */
     private static boolean certificateIsMissing(KeyStore keyStore, X509Certificate crt) {
-        String id = crt.getSubjectX500Principal().getName();
         PKIXParameters params;
         try {
@@ -140,4 +145,5 @@
             throw new RuntimeException(ex);
         }
+        String id = crt.getSubjectX500Principal().getName();
         for (TrustAnchor ta : params.getTrustAnchors()) {
             X509Certificate cert = ta.getTrustedCert();
Index: trunk/src/org/openstreetmap/josm/tools/CopyList.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/CopyList.java	(revision 9996)
+++ trunk/src/org/openstreetmap/josm/tools/CopyList.java	(revision 9997)
@@ -183,5 +183,5 @@
             } catch (IndexOutOfBoundsException e) {
                 checkForComodification();
-                throw new NoSuchElementException(e.getMessage());
+                throw (NoSuchElementException) new NoSuchElementException(e.getMessage()).initCause(e);
             }
         }
Index: trunk/src/org/openstreetmap/josm/tools/OverpassTurboQueryWizard.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/OverpassTurboQueryWizard.java	(revision 9996)
+++ trunk/src/org/openstreetmap/josm/tools/OverpassTurboQueryWizard.java	(revision 9997)
@@ -72,9 +72,8 @@
             return query;
         } catch (NoSuchMethodException e) {
-            throw new IllegalStateException();
+            throw new IllegalStateException(e);
         } catch (ScriptException e) {
             throw new RuntimeException("Failed to execute OverpassTurboQueryWizard", e);
         }
     }
-
 }
Index: trunk/src/org/openstreetmap/josm/tools/date/DateUtils.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/date/DateUtils.java	(revision 9996)
+++ trunk/src/org/openstreetmap/josm/tools/date/DateUtils.java	(revision 9997)
@@ -137,5 +137,5 @@
             return XML_DATE.newXMLGregorianCalendar(str).toGregorianCalendar().getTimeInMillis();
         } catch (Exception ex) {
-            throw new UncheckedParseException("The date string (" + str + ") could not be parsed.");
+            throw new UncheckedParseException("The date string (" + str + ") could not be parsed.", ex);
         }
     }
