Index: trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java	(revision 9983)
@@ -287,12 +287,4 @@
 
         /**
-         * Constructs a new {@code NodePair}.
-         * @param other An existing {@code NodePair}
-         */
-        public NodePair(NodePair other) {
-            this(other.a, other.b);
-        }
-
-        /**
          * Replies the first node.
          * @return The first node
@@ -308,12 +300,4 @@
         public Node getB() {
             return b;
-        }
-
-        public boolean isAdjacentToA(NodePair other) {
-            return other.getA() == a || other.getB() == a;
-        }
-
-        public boolean isAdjacentToB(NodePair other) {
-            return other.getA() == b || other.getB() == b;
         }
 
Index: trunk/src/org/openstreetmap/josm/actions/DialogsToggleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/DialogsToggleAction.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/actions/DialogsToggleAction.java	(revision 9983)
@@ -43,13 +43,4 @@
     }
 
-    /**
-     * To call if this action must be initially run at JOSM startup.
-     */
-    public void initial() {
-        if (isSelected()) {
-            setMode();
-        }
-    }
-
     protected void setMode() {
         if (Main.isDisplayingMapView()) {
Index: trunk/src/org/openstreetmap/josm/data/CustomConfigurator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/CustomConfigurator.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/data/CustomConfigurator.java	(revision 9983)
@@ -326,8 +326,4 @@
             deleteFileOrDirectory(fOut);
         }
-    }
-
-    public static void deleteFileOrDirectory(String path) {
-        deleteFileOrDirectory(new File(path));
     }
 
Index: trunk/src/org/openstreetmap/josm/data/cache/ICachedLoaderJob.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/cache/ICachedLoaderJob.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/data/cache/ICachedLoaderJob.java	(revision 9983)
@@ -11,5 +11,5 @@
  * @param <K> cache key type
  */
-public interface ICachedLoaderJob<K> {
+public interface ICachedLoaderJob<K> extends Runnable {
     /**
      * returns cache entry key
@@ -26,9 +26,4 @@
      */
     URL getUrl() throws IOException;
-
-    /**
-     * implements the main algorithm for fetching
-     */
-    void run();
 
     /**
Index: trunk/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java	(revision 9983)
@@ -45,5 +45,5 @@
  * @since 8168
  */
-public abstract class JCSCachedTileLoaderJob<K, V extends CacheEntry> implements ICachedLoaderJob<K>, Runnable {
+public abstract class JCSCachedTileLoaderJob<K, V extends CacheEntry> implements ICachedLoaderJob<K> {
     private static final Logger log = FeatureAdapter.getLogger(JCSCachedTileLoaderJob.class.getCanonicalName());
     protected static final long DEFAULT_EXPIRE_TIME = 1000L * 60 * 60 * 24 * 7; // 7 days
Index: trunk/src/org/openstreetmap/josm/data/coor/Coordinate.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/coor/Coordinate.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/data/coor/Coordinate.java	(revision 9983)
@@ -93,14 +93,4 @@
 
     /**
-     * Converts to single point BBox.
-     *
-     * @return single point BBox defined by this coordinate.
-     * @since 6203
-     */
-    public BBox toBBox() {
-        return new BBox(x, y);
-    }
-
-    /**
      * Creates bbox around this coordinate. Coordinate defines
      * center of bbox, its edge will be 2*r.
Index: trunk/src/org/openstreetmap/josm/data/coor/LatLon.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/coor/LatLon.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/data/coor/LatLon.java	(revision 9983)
@@ -48,5 +48,4 @@
     public static final double MAX_SERVER_PRECISION = 1e-7;
     public static final double MAX_SERVER_INV_PRECISION = 1e7;
-    public static final int    MAX_SERVER_DIGITS = 7;
 
     /**
Index: trunk/src/org/openstreetmap/josm/data/validation/routines/UrlValidator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/routines/UrlValidator.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/data/validation/routines/UrlValidator.java	(revision 9983)
@@ -540,8 +540,3 @@
         return (options & flag) == 0;
     }
-
-    // Unit test access to pattern matcher
-    Matcher matchURL(String value) {
-        return URL_PATTERN.matcher(value);
-    }
 }
Index: trunk/src/org/openstreetmap/josm/gui/ExtendedDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/ExtendedDialog.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/gui/ExtendedDialog.java	(revision 9983)
@@ -545,14 +545,4 @@
 
     /**
-     * Call this if you "accidentally" called toggleEnable. This doesn't need
-     * to be called for every dialog, as it's the default anyway.
-     * @return {@code this}
-     */
-    public ExtendedDialog toggleDisable() {
-        this.toggleable = false;
-        return this;
-    }
-
-    /**
      * Sets the button that will react to ENTER.
      * @param defaultButtonIdx The button index (starts to 1)
Index: trunk/src/org/openstreetmap/josm/gui/bbox/SlippyMapBBoxChooser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/bbox/SlippyMapBBoxChooser.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/gui/bbox/SlippyMapBBoxChooser.java	(revision 9983)
@@ -87,8 +87,4 @@
             return sources;
         }
-
-        public static void addExistingSlippyMapUrl(String url) {
-            existingSlippyMapUrls.add(url);
-        }
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/NotesDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/NotesDialog.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/NotesDialog.java	(revision 9983)
@@ -57,6 +57,4 @@
     /** Small icon size for use in graphics calculations */
     public static final int ICON_SMALL_SIZE = 16;
-    /** Large icon size for use in graphics calculations */
-    public static final int ICON_LARGE_SIZE = 24;
     /** 24x24 icon for unresolved notes */
     public static final ImageIcon ICON_OPEN = ImageProvider.get("dialogs/notes", "note_open");
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableCellRenderer.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableCellRenderer.java	(revision 9983)
@@ -19,8 +19,6 @@
  */
 public abstract class MemberTableCellRenderer extends JLabel implements TableCellRenderer {
-    public static final Color BGCOLOR_EMPTY_ROW = new Color(234, 234, 234);
     public static final Color BGCOLOR_IN_JOSM_SELECTION = new Color(235, 255, 177);
 
-    public static final Color BGCOLOR_NOT_IN_OPPOSITE = new Color(255, 197, 197);
     public static final Color BGCOLOR_DOUBLE_ENTRY = new Color(254, 226, 214);
 
Index: trunk/src/org/openstreetmap/josm/gui/history/RelationMemberListTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/RelationMemberListTableCellRenderer.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/gui/history/RelationMemberListTableCellRenderer.java	(revision 9983)
@@ -25,9 +25,4 @@
  */
 public class RelationMemberListTableCellRenderer extends JLabel implements TableCellRenderer {
-
-    public static final Color BGCOLOR_EMPTY_ROW = new Color(234, 234, 234);
-    public static final Color BGCOLOR_NOT_IN_OPPOSITE = new Color(255, 197, 197);
-    public static final Color BGCOLOR_IN_OPPOSITE = new Color(255, 234, 213);
-    public static final Color BGCOLOR_SELECTED = new Color(143, 170, 255);
 
     private final transient Map<OsmPrimitiveType, ImageIcon> icons;
Index: trunk/src/org/openstreetmap/josm/gui/history/VersionTableColumnModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/VersionTableColumnModel.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/gui/history/VersionTableColumnModel.java	(revision 9983)
@@ -15,8 +15,13 @@
 public class VersionTableColumnModel extends DefaultTableColumnModel {
 
+    /** Column index for version */
     public static final int COL_VERSION = 0;
+    /** Column index for reference */
     public static final int COL_REFERENCE = 1;
+    /** Column index for current */
     public static final int COL_CURRENT = 2;
+    /** Column index for date */
     public static final int COL_DATE = 3;
+    /** Column index for user */
     public static final int COL_USER = 4;
 
@@ -26,5 +31,5 @@
 
         // column 0 - Version
-        col = new TableColumn(0);
+        col = new TableColumn(COL_VERSION);
         /* translation note: 3 letter abbr. for "Version" */
         col.setHeaderValue(tr("Ver"));
@@ -33,5 +38,5 @@
         addColumn(col);
         // column 1 - Reference
-        col = new TableColumn(1);
+        col = new TableColumn(COL_REFERENCE);
         col.setHeaderValue(tr("A"));
         col.setCellRenderer(bRenderer);
@@ -40,5 +45,5 @@
         addColumn(col);
         // column 2 - Current
-        col = new TableColumn(2);
+        col = new TableColumn(COL_CURRENT);
         col.setHeaderValue(tr("B"));
         col.setCellRenderer(bRenderer);
@@ -47,10 +52,10 @@
         addColumn(col);
         // column 3 - Date
-        col = new TableColumn(3);
+        col = new TableColumn(COL_DATE);
         col.setHeaderValue(tr("Date"));
         col.setResizable(false);
         addColumn(col);
         // column 4 - User
-        col = new TableColumn(4);
+        col = new TableColumn(COL_USER);
         col.setHeaderValue(tr("User"));
         col.setResizable(false);
Index: trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java	(revision 9983)
@@ -8,13 +8,7 @@
 import java.awt.Color;
 import java.awt.Component;
-import java.awt.Font;
-import java.awt.Graphics2D;
 import java.awt.GridBagLayout;
 import java.awt.Transparency;
 import java.awt.event.ActionEvent;
-import java.awt.font.FontRenderContext;
-import java.awt.font.LineBreakMeasurer;
-import java.awt.font.TextAttribute;
-import java.awt.font.TextLayout;
 import java.awt.image.BufferedImage;
 import java.awt.image.BufferedImageOp;
@@ -23,10 +17,6 @@
 import java.awt.image.LookupOp;
 import java.awt.image.ShortLookupTable;
-import java.text.AttributedCharacterIterator;
-import java.text.AttributedString;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 import javax.swing.AbstractAction;
@@ -387,60 +377,4 @@
     }
 
-    /**
-     * Draws a red error tile when imagery tile cannot be fetched.
-     * @param img The buffered image
-     * @param message Additional error message to display
-     */
-    public void drawErrorTile(BufferedImage img, String message) {
-        Graphics2D g = (Graphics2D) img.getGraphics();
-        g.setColor(Color.RED);
-        g.fillRect(0, 0, img.getWidth(), img.getHeight());
-        g.setFont(g.getFont().deriveFont(Font.PLAIN).deriveFont(24.0f));
-        g.setColor(Color.BLACK);
-
-        String text = tr("ERROR");
-        g.drawString(text, (img.getWidth() - g.getFontMetrics().stringWidth(text)) / 2, g.getFontMetrics().getHeight()+5);
-        if (message != null) {
-            float drawPosY = 2.5f*g.getFontMetrics().getHeight()+10;
-            if (!message.contains(" ")) {
-                g.setFont(g.getFont().deriveFont(Font.PLAIN).deriveFont(18.0f));
-                g.drawString(message, 5, (int) drawPosY);
-            } else {
-                // Draw message on several lines
-                Map<TextAttribute, Object> map = new HashMap<>();
-                map.put(TextAttribute.FAMILY, "Serif");
-                map.put(TextAttribute.SIZE, new Float(18.0));
-                AttributedString vanGogh = new AttributedString(message, map);
-                // Create a new LineBreakMeasurer from the text
-                AttributedCharacterIterator paragraph = vanGogh.getIterator();
-                int paragraphStart = paragraph.getBeginIndex();
-                int paragraphEnd = paragraph.getEndIndex();
-                FontRenderContext frc = g.getFontRenderContext();
-                LineBreakMeasurer lineMeasurer = new LineBreakMeasurer(paragraph, frc);
-                // Set break width to width of image with some margin
-                float breakWidth = img.getWidth()-10;
-                // Set position to the index of the first character in the text
-                lineMeasurer.setPosition(paragraphStart);
-                // Get lines until the entire paragraph has been displayed
-                while (lineMeasurer.getPosition() < paragraphEnd) {
-                    // Retrieve next layout
-                    TextLayout layout = lineMeasurer.nextLayout(breakWidth);
-
-                    // Compute pen x position
-                    float drawPosX = layout.isLeftToRight() ? 0 : breakWidth - layout.getAdvance();
-
-                    // Move y-coordinate by the ascent of the layout
-                    drawPosY += layout.getAscent();
-
-                    // Draw the TextLayout at (drawPosX, drawPosY)
-                    layout.draw(g, drawPosX, drawPosY);
-
-                    // Move y-coordinate in preparation for next layout
-                    drawPosY += layout.getDescent() + layout.getLeading();
-                }
-            }
-        }
-    }
-
     @Override
     public void destroy() {
Index: trunk/src/org/openstreetmap/josm/gui/layer/WMSLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/WMSLayer.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/gui/layer/WMSLayer.java	(revision 9983)
@@ -43,7 +43,4 @@
     /** should WMS layer autozoom in default mode */
     public static final BooleanProperty PROP_DEFAULT_AUTOZOOM = new BooleanProperty(PREFERENCE_PREFIX + "default_autozoom", true);
-
-    /** limit of concurrent connections to WMS tile source (per source) */
-    public static final IntegerProperty THREAD_LIMIT = new IntegerProperty(PREFERENCE_PREFIX + "simultaneousConnections", 3);
 
     private static final String CACHE_REGION_NAME = "WMS";
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/Cascade.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/Cascade.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/Cascade.java	(revision 9983)
@@ -19,6 +19,4 @@
  */
 public final class Cascade implements Cloneable {
-
-    public static final Cascade EMPTY_CASCADE = new Cascade();
 
     private Map<String, Object> prop = new HashMap<>();
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Condition.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Condition.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Condition.java	(revision 9983)
@@ -523,5 +523,5 @@
          * @return {@code true} if the way is closed or the relation is a closed multipolygon
          */
-        static boolean closed(Environment e) {
+        static boolean closed(Environment e) { // NO_UCD (unused code)
             if (e.osm instanceof Way && ((Way) e.osm).isClosed())
                 return true;
@@ -537,5 +537,5 @@
          * @see OsmPrimitive#isModified()
          */
-        static boolean modified(Environment e) {
+        static boolean modified(Environment e) { // NO_UCD (unused code)
             return e.osm.isModified() || e.osm.isNewOrUndeleted();
         }
@@ -547,5 +547,5 @@
          * @see OsmPrimitive#isNew()
          */
-        static boolean _new(Environment e) {
+        static boolean _new(Environment e) { // NO_UCD (unused code)
             return e.osm.isNew();
         }
@@ -557,5 +557,5 @@
          * @see Node#isConnectionNode()
          */
-        static boolean connection(Environment e) {
+        static boolean connection(Environment e) { // NO_UCD (unused code)
             return e.osm instanceof Node && e.osm.getDataSet() != null && ((Node) e.osm).isConnectionNode();
         }
@@ -567,5 +567,5 @@
          * @see OsmPrimitive#isTagged()
          */
-        static boolean tagged(Environment e) {
+        static boolean tagged(Environment e) { // NO_UCD (unused code)
             return e.osm.isTagged();
         }
@@ -577,5 +577,5 @@
          * @see OsmPrimitive#hasSameInterestingTags(OsmPrimitive)
          */
-        static boolean sameTags(Environment e) {
+        static boolean sameTags(Environment e) { // NO_UCD (unused code)
             return e.osm.hasSameInterestingTags(Utils.firstNonNull(e.child, e.parent));
         }
@@ -587,5 +587,5 @@
          * @see ElemStyles#hasAreaElemStyle(OsmPrimitive, boolean)
          */
-        static boolean areaStyle(Environment e) {
+        static boolean areaStyle(Environment e) { // NO_UCD (unused code)
             // only for validator
             return ElemStyles.hasAreaElemStyle(e.osm, false);
@@ -597,5 +597,5 @@
          * @return {@code true} if the object is a unconnected node
          */
-        static boolean unconnected(Environment e) {
+        static boolean unconnected(Environment e) { // NO_UCD (unused code)
             return e.osm instanceof Node && OsmPrimitive.getFilteredList(e.osm.getReferrers(), Way.class).isEmpty();
         }
@@ -607,5 +607,5 @@
          * @see ExpressionFactory.Functions#is_right_hand_traffic(Environment)
          */
-        static boolean righthandtraffic(Environment e) {
+        static boolean righthandtraffic(Environment e) { // NO_UCD (unused code)
             return ExpressionFactory.Functions.is_right_hand_traffic(e);
         }
@@ -618,5 +618,5 @@
          * @see ExpressionFactory.Functions#is_clockwise(Environment)
          */
-        static boolean clockwise(Environment e) {
+        static boolean clockwise(Environment e) { // NO_UCD (unused code)
             return ExpressionFactory.Functions.is_clockwise(e);
         }
@@ -629,5 +629,5 @@
          * @see ExpressionFactory.Functions#is_anticlockwise(Environment)
          */
-        static boolean anticlockwise(Environment e) {
+        static boolean anticlockwise(Environment e) { // NO_UCD (unused code)
             return ExpressionFactory.Functions.is_anticlockwise(e);
         }
@@ -638,5 +638,5 @@
          * @return {@code true} if the object is an unclosed multipolygon
          */
-        static boolean unclosed_multipolygon(Environment e) {
+        static boolean unclosed_multipolygon(Environment e) { // NO_UCD (unused code)
             return e.osm instanceof Relation && ((Relation) e.osm).isMultipolygon() &&
                     !e.osm.isIncomplete() && !((Relation) e.osm).hasIncompleteMembers() &&
@@ -652,9 +652,9 @@
          * @see InDataSourceArea
          */
-        static boolean inDownloadedArea(Environment e) {
+        static boolean inDownloadedArea(Environment e) { // NO_UCD (unused code)
             return IN_DOWNLOADED_AREA.evaluate(e.osm);
         }
 
-        static boolean completely_downloaded(Environment e) {
+        static boolean completely_downloaded(Environment e) { // NO_UCD (unused code)
             if (e.osm instanceof Relation) {
                 return !((Relation) e.osm).hasIncompleteMembers();
@@ -664,5 +664,5 @@
         }
 
-        static boolean closed2(Environment e) {
+        static boolean closed2(Environment e) { // NO_UCD (unused code)
             if (e.osm instanceof Way && ((Way) e.osm).isClosed())
                 return true;
@@ -672,5 +672,5 @@
         }
 
-        static boolean selected(Environment e) {
+        static boolean selected(Environment e) { // NO_UCD (unused code)
             Cascade c = e.mc.getCascade(e.layer);
             c.setDefaultSelectedHandling(false);
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/ExpressionFactory.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/ExpressionFactory.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/ExpressionFactory.java	(revision 9983)
@@ -122,5 +122,5 @@
          * @return {@code o} unchanged
          */
-        public static Object eval(Object o) {
+        public static Object eval(Object o) { // NO_UCD (unused code)
             return o;
         }
@@ -131,5 +131,5 @@
          * @return Sum of arguments
          */
-        public static float plus(float... args) {
+        public static float plus(float... args) { // NO_UCD (unused code)
             float res = 0;
             for (float f : args) {
@@ -144,5 +144,5 @@
          * @return Substraction of arguments
          */
-        public static Float minus(float... args) {
+        public static Float minus(float... args) { // NO_UCD (unused code)
             if (args.length == 0) {
                 return 0.0F;
@@ -163,5 +163,5 @@
          * @return Multiplication of arguments
          */
-        public static float times(float... args) {
+        public static float times(float... args) { // NO_UCD (unused code)
             float res = 1;
             for (float f : args) {
@@ -176,5 +176,5 @@
          * @return Division of arguments
          */
-        public static Float divided_by(float... args) {
+        public static Float divided_by(float... args) { // NO_UCD (unused code)
             if (args.length == 0) {
                 return 1.0F;
@@ -196,5 +196,5 @@
          * @see Arrays#asList(Object[])
          */
-        public static List<Object> list(Object... args) {
+        public static List<Object> list(Object... args) { // NO_UCD (unused code)
             return Arrays.asList(args);
         }
@@ -205,5 +205,5 @@
          * @return length of the list
          */
-        public static Integer count(List<?> lst) {
+        public static Integer count(List<?> lst) { // NO_UCD (unused code)
             return lst.size();
         }
@@ -217,5 +217,5 @@
          */
         @NullableArguments
-        public static Object any(Object... args) {
+        public static Object any(Object... args) { // NO_UCD (unused code)
             return Utils.firstNonNull(args);
         }
@@ -228,5 +228,5 @@
          * @since 5699
          */
-        public static Object get(List<?> lst, float n) {
+        public static Object get(List<?> lst, float n) { // NO_UCD (unused code)
             int idx = Math.round(n);
             if (idx >= 0 && idx < lst.size()) {
@@ -244,5 +244,5 @@
          * @since 5699
          */
-        public static List<String> split(String sep, String toSplit) {
+        public static List<String> split(String sep, String toSplit) { // NO_UCD (unused code)
             return Arrays.asList(toSplit.split(Pattern.quote(sep), -1));
         }
@@ -256,5 +256,5 @@
          * @see Color#Color(float, float, float)
          */
-        public static Color rgb(float r, float g, float b) {
+        public static Color rgb(float r, float g, float b) { // NO_UCD (unused code)
             try {
                 return new Color(r, g, b);
@@ -274,5 +274,5 @@
          * @see Color#Color(float, float, float, float)
          */
-        public static Color rgba(float r, float g, float b, float alpha) {
+        public static Color rgba(float r, float g, float b, float alpha) { // NO_UCD (unused code)
             try {
                 return new Color(r, g, b, alpha);
@@ -289,5 +289,5 @@
          * @return the corresponding color
          */
-        public static Color hsb_color(float h, float s, float b) {
+        public static Color hsb_color(float h, float s, float b) { // NO_UCD (unused code)
             try {
                 return Color.getHSBColor(h, s, b);
@@ -302,5 +302,5 @@
          * @return color matching the given notation
          */
-        public static Color html2color(String html) {
+        public static Color html2color(String html) { // NO_UCD (unused code)
             return ColorHelper.html2color(html);
         }
@@ -311,5 +311,5 @@
          * @return HTML notation matching the given color
          */
-        public static String color2html(Color c) {
+        public static String color2html(Color c) { // NO_UCD (unused code)
             return ColorHelper.color2html(c);
         }
@@ -321,5 +321,5 @@
          * @see java.awt.Color#getRed()
          */
-        public static float red(Color c) {
+        public static float red(Color c) { // NO_UCD (unused code)
             return Utils.color_int2float(c.getRed());
         }
@@ -331,5 +331,5 @@
          * @see java.awt.Color#getGreen()
          */
-        public static float green(Color c) {
+        public static float green(Color c) { // NO_UCD (unused code)
             return Utils.color_int2float(c.getGreen());
         }
@@ -341,5 +341,5 @@
          * @see java.awt.Color#getBlue()
          */
-        public static float blue(Color c) {
+        public static float blue(Color c) { // NO_UCD (unused code)
             return Utils.color_int2float(c.getBlue());
         }
@@ -351,5 +351,5 @@
          * @see java.awt.Color#getAlpha()
          */
-        public static float alpha(Color c) {
+        public static float alpha(Color c) { // NO_UCD (unused code)
             return Utils.color_int2float(c.getAlpha());
         }
@@ -362,5 +362,5 @@
          */
         @NullableArguments
-        public static String concat(Object... args) {
+        public static String concat(Object... args) { // NO_UCD (unused code)
             return Utils.join("", Arrays.asList(args));
         }
@@ -373,5 +373,5 @@
          */
         @NullableArguments
-        public static String join(String... args) {
+        public static String join(String... args) { // NO_UCD (unused code)
             return Utils.join(args[0], Arrays.asList(args).subList(1, args.length));
         }
@@ -384,5 +384,5 @@
          * @see Utils#join
          */
-        public static String join_list(final String separator, final List<String> values) {
+        public static String join_list(final String separator, final List<String> values) { // NO_UCD (unused code)
             return Utils.join(separator, values);
         }
@@ -394,5 +394,5 @@
          * @return the property value
          */
-        public static Object prop(final Environment env, String key) {
+        public static Object prop(final Environment env, String key) { // NO_UCD (unused code)
             return prop(env, key, null);
         }
@@ -415,5 +415,5 @@
          * @return {@code true} if the property is set, {@code false} otherwise
          */
-        public static Boolean is_prop_set(final Environment env, String key) {
+        public static Boolean is_prop_set(final Environment env, String key) { // NO_UCD (unused code)
             return is_prop_set(env, key, null);
         }
@@ -436,5 +436,5 @@
          * @return the value for given key
          */
-        public static String tag(final Environment env, String key) {
+        public static String tag(final Environment env, String key) { // NO_UCD (unused code)
             return env.osm == null ? null : env.osm.get(key);
         }
@@ -446,5 +446,5 @@
          * @return first non-null value of the key {@code key} from the object's parent(s)
          */
-        public static String parent_tag(final Environment env, String key) {
+        public static String parent_tag(final Environment env, String key) { // NO_UCD (unused code)
             if (env.parent == null) {
                 if (env.osm != null) {
@@ -470,5 +470,5 @@
          * @return a list of non-null values of the key {@code key} from the object's parent(s)
          */
-        public static List<String> parent_tags(final Environment env, String key) {
+        public static List<String> parent_tags(final Environment env, String key) { // NO_UCD (unused code)
             if (env.parent == null) {
                 if (env.osm != null) {
@@ -494,5 +494,5 @@
          * @return the value of the key {@code key} from the object's child, or {@code null} if there is no child
          */
-        public static String child_tag(final Environment env, String key) {
+        public static String child_tag(final Environment env, String key) { // NO_UCD (unused code)
             return env.child == null ? null : env.child.get(key);
         }
@@ -504,5 +504,5 @@
          * @return {@code true} if the object has a tag with the given key, {@code false} otherwise
          */
-        public static boolean has_tag_key(final Environment env, String key) {
+        public static boolean has_tag_key(final Environment env, String key) { // NO_UCD (unused code)
             return env.osm.hasKey(key);
         }
@@ -513,5 +513,5 @@
          * @return the index as float. Starts at 1
          */
-        public static Float index(final Environment env) {
+        public static Float index(final Environment env) { // NO_UCD (unused code)
             if (env.index == null) {
                 return null;
@@ -526,5 +526,5 @@
          * @see Environment#getRole()
          */
-        public static String role(final Environment env) {
+        public static String role(final Environment env) { // NO_UCD (unused code)
             return env.getRole();
         }
@@ -536,5 +536,5 @@
          * @see Geometry#computeArea(OsmPrimitive)
          */
-        public static Float areasize(final Environment env) {
+        public static Float areasize(final Environment env) { // NO_UCD (unused code)
             final Double area = Geometry.computeArea(env.osm);
             return area == null ? null : area.floatValue();
@@ -547,5 +547,5 @@
          * @see Way#getLength()
          */
-        public static Float waylength(final Environment env) {
+        public static Float waylength(final Environment env) { // NO_UCD (unused code)
             if (env.osm instanceof Way) {
                 return (float) ((Way) env.osm).getLength();
@@ -560,5 +560,5 @@
          * @return {@code true} if {@code !b}
          */
-        public static boolean not(boolean b) {
+        public static boolean not(boolean b) { // NO_UCD (unused code)
             return !b;
         }
@@ -570,5 +570,5 @@
          * @return {@code true} if {@code a &gt;= b}
          */
-        public static boolean greater_equal(float a, float b) {
+        public static boolean greater_equal(float a, float b) { // NO_UCD (unused code)
             return a >= b;
         }
@@ -580,5 +580,5 @@
          * @return {@code true} if {@code a &lt;= b}
          */
-        public static boolean less_equal(float a, float b) {
+        public static boolean less_equal(float a, float b) { // NO_UCD (unused code)
             return a <= b;
         }
@@ -590,5 +590,5 @@
          * @return {@code true} if {@code a &gt; b}
          */
-        public static boolean greater(float a, float b) {
+        public static boolean greater(float a, float b) { // NO_UCD (unused code)
             return a > b;
         }
@@ -600,5 +600,5 @@
          * @return {@code true} if {@code a &lt; b}
          */
-        public static boolean less(float a, float b) {
+        public static boolean less(float a, float b) { // NO_UCD (unused code)
             return a < b;
         }
@@ -610,5 +610,5 @@
          * @see Math#toRadians(double)
          */
-        public static double degree_to_radians(double degree) {
+        public static double degree_to_radians(double degree) { // NO_UCD (unused code)
             return Math.toRadians(degree);
         }
@@ -623,5 +623,5 @@
          * @see RotationAngle#parseCardinalRotation(String)
          */
-        public static Double cardinal_to_radians(String cardinal) {
+        public static Double cardinal_to_radians(String cardinal) { // NO_UCD (unused code)
             try {
                 return RotationAngle.parseCardinalRotation(cardinal);
@@ -651,5 +651,5 @@
          * @see Object#equals(Object)
          */
-        public static boolean not_equal(Object a, Object b) {
+        public static boolean not_equal(Object a, Object b) { // NO_UCD (unused code)
             return !equal(a, b);
         }
@@ -662,5 +662,5 @@
          * @see SearchCompiler
          */
-        public static Boolean JOSM_search(final Environment env, String searchStr) {
+        public static Boolean JOSM_search(final Environment env, String searchStr) { // NO_UCD (unused code)
             Match m;
             try {
@@ -680,5 +680,5 @@
          * @return value for key, or default value if not found
          */
-        public static String JOSM_pref(Environment env, String key, String def) {
+        public static String JOSM_pref(Environment env, String key, String def) { // NO_UCD (unused code)
             return MapPaintStyles.getStyles().getPreferenceCached(key, def);
         }
@@ -692,5 +692,5 @@
          * @since 5699
          */
-        public static boolean regexp_test(String pattern, String target) {
+        public static boolean regexp_test(String pattern, String target) { // NO_UCD (unused code)
             return Pattern.matches(pattern, target);
         }
@@ -707,5 +707,5 @@
          * @since 5699
          */
-        public static boolean regexp_test(String pattern, String target, String flags) {
+        public static boolean regexp_test(String pattern, String target, String flags) { // NO_UCD (unused code)
             int f = 0;
             if (flags.contains("i")) {
@@ -734,5 +734,5 @@
          * @since 5701
          */
-        public static List<String> regexp_match(String pattern, String target, String flags) {
+        public static List<String> regexp_match(String pattern, String target, String flags) { // NO_UCD (unused code)
             int f = 0;
             if (flags.contains("i")) {
@@ -757,5 +757,5 @@
          * @since 5701
          */
-        public static List<String> regexp_match(String pattern, String target) {
+        public static List<String> regexp_match(String pattern, String target) { // NO_UCD (unused code)
             return Utils.getMatches(Pattern.compile(pattern).matcher(target));
         }
@@ -767,5 +767,5 @@
          * @see OsmPrimitive#getUniqueId()
          */
-        public static long osm_id(final Environment env) {
+        public static long osm_id(final Environment env) { // NO_UCD (unused code)
             return env.osm.getUniqueId();
         }
@@ -778,5 +778,5 @@
          */
         @NullableArguments
-        public static String tr(String... args) {
+        public static String tr(String... args) { // NO_UCD (unused code)
             final String text = args[0];
             System.arraycopy(args, 1, args, 0, args.length - 1);
@@ -791,5 +791,5 @@
          * @see String#substring(int)
          */
-        public static String substring(String s, /* due to missing Cascade.convertTo for int*/ float begin) {
+        public static String substring(String s, /* due to missing Cascade.convertTo for int*/ float begin) { // NO_UCD (unused code)
             return s == null ? null : s.substring((int) begin);
         }
@@ -804,5 +804,5 @@
          * @see String#substring(int, int)
          */
-        public static String substring(String s, float begin, float end) {
+        public static String substring(String s, float begin, float end) { // NO_UCD (unused code)
             return s == null ? null : s.substring((int) begin, (int) end);
         }
@@ -816,5 +816,5 @@
          * @see String#replace(CharSequence, CharSequence)
          */
-        public static String replace(String s, String target, String replacement) {
+        public static String replace(String s, String target, String replacement) { // NO_UCD (unused code)
             return s == null ? null : s.replace(target, replacement);
         }
@@ -827,5 +827,5 @@
          * @return the encoded string
          */
-        public static String URL_encode(String s) {
+        public static String URL_encode(String s) { // NO_UCD (unused code)
             return s == null ? null : Utils.encodeUrl(s);
         }
@@ -838,5 +838,5 @@
          * @return the encoded string
          */
-        public static String XML_encode(String s) {
+        public static String XML_encode(String s) { // NO_UCD (unused code)
             return s == null ? null : XmlWriter.encode(s);
         }
@@ -847,5 +847,5 @@
          * @return long value from 0 to 2^32-1
          */
-        public static long CRC32_checksum(String s) {
+        public static long CRC32_checksum(String s) { // NO_UCD (unused code)
             CRC32 cs = new CRC32();
             cs.update(s.getBytes(StandardCharsets.UTF_8));
@@ -903,5 +903,5 @@
          */
         @NullableArguments
-        public static Object print(Object o) {
+        public static Object print(Object o) { // NO_UCD (unused code)
             System.out.print(o == null ? "none" : o.toString());
             return o;
@@ -915,5 +915,5 @@
          */
         @NullableArguments
-        public static Object println(Object o) {
+        public static Object println(Object o) { // NO_UCD (unused code)
             System.out.println(o == null ? "none" : o.toString());
             return o;
@@ -925,5 +925,5 @@
          * @return number of tags
          */
-        public static int number_of_tags(Environment env) {
+        public static int number_of_tags(Environment env) { // NO_UCD (unused code)
             return env.osm.getNumKeys();
         }
@@ -935,5 +935,5 @@
          * @return the value of the setting (calculated when the style is loaded)
          */
-        public static Object setting(Environment env, String key) {
+        public static Object setting(Environment env, String key) { // NO_UCD (unused code)
             return env.source.settingValues.get(key);
         }
Index: trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java	(revision 9983)
@@ -955,12 +955,4 @@
     }
 
-    public Action getAction(String s) {
-        Action e = actions.get(s);
-        if (e == null) {
-            e = regactions.get(s);
-        }
-        return e;
-    }
-
     private void loadActions() {
         rootActionsNode.removeAllChildren();
Index: trunk/src/org/openstreetmap/josm/gui/tagging/TagTable.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TagTable.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TagTable.java	(revision 9983)
@@ -12,5 +12,4 @@
 import java.awt.event.ActionEvent;
 import java.awt.event.KeyEvent;
-import java.awt.event.KeyListener;
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
@@ -487,11 +486,4 @@
     }
 
-    public void addOKAccelatorListener(KeyListener l) {
-        addKeyListener(l);
-        if (editor != null) {
-            editor.getEditor().addKeyListener(l);
-        }
-    }
-
     /**
      * Inject a tag cell editor in the tag table
Index: trunk/src/org/openstreetmap/josm/gui/widgets/ComboBoxHistory.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/ComboBoxHistory.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/ComboBoxHistory.java	(revision 9983)
@@ -17,6 +17,4 @@
 
     private final int maxSize;
-
-    private final transient List<HistoryChangedListener> listeners = new ArrayList<>();
 
     /**
@@ -63,6 +61,4 @@
         // set selected item to the one just added
         setSelectedItem(o);
-
-        fireHistoryChanged();
     }
 
@@ -116,17 +112,3 @@
         return list;
     }
-
-    public void addHistoryChangedListener(HistoryChangedListener l) {
-        listeners.add(l);
-    }
-
-    public void removeHistoryChangedListener(HistoryChangedListener l) {
-        listeners.remove(l);
-    }
-
-    private void fireHistoryChanged() {
-        for (HistoryChangedListener l : listeners) {
-            l.historyChanged(asStringList());
-        }
-    }
 }
Index: trunk/src/org/openstreetmap/josm/io/session/GeoImageSessionExporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/session/GeoImageSessionExporter.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/io/session/GeoImageSessionExporter.java	(revision 9983)
@@ -29,5 +29,5 @@
      * @param layer GeoImage layer to export
      */
-    public GeoImageSessionExporter(GeoImageLayer layer) {
+    public GeoImageSessionExporter(GeoImageLayer layer) { // NO_UCD (unused code)
         super(layer);
     }
Index: trunk/src/org/openstreetmap/josm/io/session/GpxTracksSessionExporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/session/GpxTracksSessionExporter.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/io/session/GpxTracksSessionExporter.java	(revision 9983)
@@ -21,5 +21,5 @@
      * @param layer GPX layer to export
      */
-    public GpxTracksSessionExporter(GpxLayer layer) {
+    public GpxTracksSessionExporter(GpxLayer layer) { // NO_UCD (test only)
         super(layer, "tracks", "0.1", "gpx");
     }
Index: trunk/src/org/openstreetmap/josm/io/session/ImagerySessionExporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/session/ImagerySessionExporter.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/io/session/ImagerySessionExporter.java	(revision 9983)
@@ -33,5 +33,5 @@
      * @param layer imagery layer to export
      */
-    public ImagerySessionExporter(ImageryLayer layer) {
+    public ImagerySessionExporter(ImageryLayer layer) { // NO_UCD (unused code)
         super(layer);
     }
@@ -41,5 +41,5 @@
      * @param layer TMS layer to export
      */
-    public ImagerySessionExporter(TMSLayer layer) {
+    public ImagerySessionExporter(TMSLayer layer) { // NO_UCD (unused code)
         super(layer);
     }
@@ -49,5 +49,5 @@
      * @param layer WMS layer to export
      */
-    public ImagerySessionExporter(WMSLayer layer) {
+    public ImagerySessionExporter(WMSLayer layer) { // NO_UCD (unused code)
         super(layer);
     }
@@ -57,5 +57,5 @@
      * @param layer WMTS layer to export
      */
-    public ImagerySessionExporter(WMTSLayer layer) {
+    public ImagerySessionExporter(WMTSLayer layer) { // NO_UCD (unused code)
         super(layer);
     }
Index: trunk/src/org/openstreetmap/josm/io/session/MarkerSessionExporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/session/MarkerSessionExporter.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/io/session/MarkerSessionExporter.java	(revision 9983)
@@ -37,5 +37,5 @@
      * @param layer marker layer to export
      */
-    public MarkerSessionExporter(MarkerLayer layer) {
+    public MarkerSessionExporter(MarkerLayer layer) { // NO_UCD (unused code)
         super(layer);
     }
Index: trunk/src/org/openstreetmap/josm/io/session/NoteSessionExporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/session/NoteSessionExporter.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/io/session/NoteSessionExporter.java	(revision 9983)
@@ -18,5 +18,5 @@
      * @param layer Note layer to export
      */
-    public NoteSessionExporter(NoteLayer layer) {
+    public NoteSessionExporter(NoteLayer layer) { // NO_UCD (unused code)
         super(layer, "osm-notes", "0.1", "osn");
     }
Index: trunk/src/org/openstreetmap/josm/io/session/OsmDataSessionExporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/session/OsmDataSessionExporter.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/io/session/OsmDataSessionExporter.java	(revision 9983)
@@ -22,5 +22,5 @@
      * @param layer Data layer to export
      */
-    public OsmDataSessionExporter(OsmDataLayer layer) {
+    public OsmDataSessionExporter(OsmDataLayer layer) { // NO_UCD (test only)
         super(layer, "osm-data", "0.1", "osm");
     }
Index: trunk/src/org/openstreetmap/josm/plugins/PluginException.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/PluginException.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/plugins/PluginException.java	(revision 9983)
@@ -13,16 +13,13 @@
 public class PluginException extends Exception {
     public final transient PluginProxy plugin;
-    public final String name;
 
     public PluginException(PluginProxy plugin, String name, Throwable cause) {
         super(tr("An error occurred in plugin {0}", name), cause);
         this.plugin = plugin;
-        this.name = name;
     }
 
-    public PluginException(String name, String message) {
+    public PluginException(String message) {
         super(message);
         this.plugin = null;
-        this.name = name;
     }
 
@@ -30,5 +27,4 @@
         super(tr("An error occurred in plugin {0}", name), cause);
         this.plugin = null;
-        this.name = name;
     }
 }
Index: trunk/src/org/openstreetmap/josm/plugins/PluginInformation.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/PluginInformation.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/plugins/PluginInformation.java	(revision 9983)
@@ -111,5 +111,5 @@
     public PluginInformation(File file, String name) throws PluginException {
         if (!PluginHandler.isValidJar(file)) {
-            throw new PluginException(name, tr("Invalid jar file ''{0}''", file));
+            throw new PluginException(tr("Invalid jar file ''{0}''", file));
         }
         this.name = name;
@@ -121,5 +121,5 @@
             Manifest manifest = jar.getManifest();
             if (manifest == null)
-                throw new PluginException(name, tr("The plugin file ''{0}'' does not include a Manifest.", file.toString()));
+                throw new PluginException(tr("The plugin file ''{0}'' does not include a Manifest.", file.toString()));
             scanManifest(manifest, false);
             libraries.add(0, Utils.fileToURL(file));
Index: trunk/src/org/openstreetmap/josm/tools/I18n.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/I18n.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/tools/I18n.java	(revision 9983)
@@ -95,6 +95,4 @@
     private static volatile PluralMode pluralMode = PluralMode.MODE_NOTONE; /* english default */
     private static volatile String loadedCode = "en";
-    /** store the original system locale for further use */
-    public static final Locale SystemLocale = Locale.getDefault();
 
     /* Localization keys for file chooser (and color chooser). */
Index: trunk/src/org/openstreetmap/josm/tools/Pair.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/Pair.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/tools/Pair.java	(revision 9983)
@@ -1,6 +1,4 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.tools;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Objects;
 
@@ -48,17 +46,4 @@
 
     /**
-     * Converts a single-typed pair to a list.
-     * @param <T> type of both elements
-     * @param p pair
-     * @return list containing a and b
-     */
-    public static <T> List<T> toList(Pair<T, T> p) {
-        List<T> l = new ArrayList<>(2);
-        l.add(p.a);
-        l.add(p.b);
-        return l;
-    }
-
-    /**
      * Sorts a single-typed pair so {@code a <= b}.
      * @param <T> type of both elements
Index: trunk/src/org/openstreetmap/josm/tools/XmlObjectParser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/XmlObjectParser.java	(revision 9982)
+++ trunk/src/org/openstreetmap/josm/tools/XmlObjectParser.java	(revision 9983)
@@ -239,8 +239,4 @@
     public XmlObjectParser() {
         parser = new Parser();
-    }
-
-    public XmlObjectParser(DefaultHandler handler) {
-        parser = handler;
     }
 
