Index: /trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java	(revision 9980)
+++ /trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java	(revision 9981)
@@ -323,5 +323,5 @@
                 // "operator" (null) should mean the same as "operator()"
                 // (Always). I.e. match everything
-                this.match = new Always();
+                this.match = Always.INSTANCE;
             } else {
                 this.match = match;
@@ -372,4 +372,6 @@
      */
     public static class Never extends TaggedMatch {
+        /** The unique instance/ */
+        public static final Never INSTANCE = new Never();
         @Override
         public boolean match(Tagged osm) {
@@ -1612,5 +1614,5 @@
             throw new ParseError(tr("Unexpected token: {0}", tokenizer.nextToken()));
         if (m == null)
-            m = new Always();
+            m = Always.INSTANCE;
         Main.debug("Parsed search expression is {0}", m);
         return m;
Index: /trunk/src/org/openstreetmap/josm/data/projection/ProjectionConfigurationException.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/ProjectionConfigurationException.java	(revision 9980)
+++ /trunk/src/org/openstreetmap/josm/data/projection/ProjectionConfigurationException.java	(revision 9981)
@@ -3,11 +3,4 @@
 
 public class ProjectionConfigurationException extends Exception {
-
-    /**
-     * Constructs a new {@code ProjectionConfigurationException}.
-     */
-    public ProjectionConfigurationException() {
-        super();
-    }
 
     /**
Index: /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2GridShift.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2GridShift.java	(revision 9980)
+++ /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2GridShift.java	(revision 9981)
@@ -335,20 +335,3 @@
         subGridName = string;
     }
-
-    /**
-     * Make this object a copy of the supplied GridShift
-     * @param gs grid to copy data from
-     */
-    public void copy(NTV2GridShift gs) {
-        this.lon = gs.lon;
-        this.lat = gs.lat;
-        this.lonShift = gs.lonShift;
-        this.latShift = gs.latShift;
-        this.lonAccuracy = gs.lonAccuracy;
-        this.latAccuracy = gs.latAccuracy;
-        this.latAccuracyAvailable = gs.latAccuracyAvailable;
-        this.lonAccuracyAvailable = gs.lonAccuracyAvailable;
-        this.subGridName = gs.subGridName;
-    }
-
 }
Index: /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2GridShiftFile.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2GridShiftFile.java	(revision 9980)
+++ /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2GridShiftFile.java	(revision 9981)
@@ -61,5 +61,5 @@
  *
  * @author Peter Yuill
- * Modifified for JOSM :
+ * Modified for JOSM :
  * - removed the RandomAccessFile mode (Pieren)
  */
@@ -267,12 +267,4 @@
         }
         return sub;
-    }
-
-    public boolean isLoaded() {
-        return topLevelSubGrid != null;
-    }
-
-    public void unload() {
-        topLevelSubGrid = null;
     }
 
@@ -304,17 +296,4 @@
     }
 
-    /**
-     * Get a copy of the SubGrid tree for this file.
-     *
-     * @return a deep clone of the current SubGrid tree
-     */
-    public NTV2SubGrid[] getSubGridTree() {
-        NTV2SubGrid[] clone = new NTV2SubGrid[topLevelSubGrid.length];
-        for (int i = 0; i < topLevelSubGrid.length; i++) {
-            clone[i] = (NTV2SubGrid) topLevelSubGrid[i].clone();
-        }
-        return clone;
-    }
-
     public String getFromEllipsoid() {
         return fromEllipsoid;
Index: /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2SubGrid.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2SubGrid.java	(revision 9980)
+++ /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2SubGrid.java	(revision 9981)
@@ -36,6 +36,7 @@
  * - read grid file by single bytes. Workaround for a bug in some VM not supporting
  *   file reading by group of 4 bytes from a jar file.
+ * - removed the Cloneable interface
  */
-public class NTV2SubGrid implements Cloneable, Serializable {
+public class NTV2SubGrid implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -276,8 +277,4 @@
     }
 
-    public NTV2SubGrid getSubGrid(int index) {
-        return (subGrid == null) ? null : subGrid[index];
-    }
-
     /**
      * Set an array of Sub Grids of this sub grid
@@ -324,25 +321,4 @@
 
     /**
-     * Make a deep clone of this Sub Grid
-     */
-    @Override
-    public Object clone() {
-        NTV2SubGrid clone = null;
-        try {
-            clone = (NTV2SubGrid) super.clone();
-            // Do a deep clone of the sub grids
-            if (subGrid != null) {
-                clone.subGrid = new NTV2SubGrid[subGrid.length];
-                for (int i = 0; i < subGrid.length; i++) {
-                    clone.subGrid[i] = (NTV2SubGrid) subGrid[i].clone();
-                }
-            }
-        } catch (CloneNotSupportedException cnse) {
-            Main.warn(cnse);
-        }
-        return clone;
-    }
-
-    /**
      * Get maximum latitude value
      * @return maximum latitude
Index: /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2Util.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2Util.java	(revision 9980)
+++ /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2Util.java	(revision 9981)
@@ -19,6 +19,4 @@
  */
 package org.openstreetmap.josm.data.projection.datum;
-
-import org.openstreetmap.josm.Main;
 
 /**
@@ -104,18 +102,3 @@
         return Double.longBitsToDouble(l);
     }
-
-    /**
-     * Does the current VM support the New IO api
-     * @return true or false
-     */
-    public static boolean isNioAvailable() {
-        boolean nioAvailable = false;
-        try {
-            Class.forName("java.nio.channels.FileChannel");
-            nioAvailable = true;
-        } catch (NoClassDefFoundError | ClassNotFoundException cnfe) {
-            Main.info(cnfe.getMessage());
-        }
-        return nioAvailable;
-    }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/RecentTagCollection.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/RecentTagCollection.java	(revision 9980)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/RecentTagCollection.java	(revision 9981)
@@ -26,5 +26,5 @@
             }
         };
-        tagsToIgnore = new SearchCompiler.Never();
+        tagsToIgnore = SearchCompiler.Never.INSTANCE;
     }
 
@@ -73,5 +73,5 @@
 
     public void setTagsToIgnore(SearchAction.SearchSetting tagsToIgnore) throws SearchCompiler.ParseError {
-        setTagsToIgnore(tagsToIgnore.text.isEmpty() ? new SearchCompiler.Never() : SearchCompiler.compile(tagsToIgnore));
+        setTagsToIgnore(tagsToIgnore.text.isEmpty() ? SearchCompiler.Never.INSTANCE : SearchCompiler.compile(tagsToIgnore));
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 9980)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 9981)
@@ -310,5 +310,5 @@
                 warnAboutParseError(parseError);
                 tagsToIgnore = new SearchAction.SearchSetting();
-                recentTags.setTagsToIgnore(new SearchCompiler.Never());
+                recentTags.setTagsToIgnore(SearchCompiler.Never.INSTANCE);
             }
         }
Index: /trunk/src/org/openstreetmap/josm/gui/widgets/CompileSearchTextDecorator.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/widgets/CompileSearchTextDecorator.java	(revision 9980)
+++ /trunk/src/org/openstreetmap/josm/gui/widgets/CompileSearchTextDecorator.java	(revision 9981)
@@ -45,5 +45,5 @@
             textComponent.setBackground(new Color(255, 224, 224));
             textComponent.setToolTipText(ex.getMessage());
-            filter = new SearchCompiler.Always();
+            filter = SearchCompiler.Always.INSTANCE;
         }
         textComponent.firePropertyChange("filter", 0, 1);
