Index: trunk/src/org/openstreetmap/josm/Main.java
===================================================================
--- trunk/src/org/openstreetmap/josm/Main.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/Main.java	(revision 3479)
@@ -654,5 +654,5 @@
             if (map  != null) {
                 newToggleDlgWidth = Integer.toString(map.getToggleDlgWidth());
-                if (newToggleDlgWidth.equals(Integer.toString(map.DEF_TOGGLE_DLG_WIDTH))) {
+                if (newToggleDlgWidth.equals(Integer.toString(MapFrame.DEF_TOGGLE_DLG_WIDTH))) {
                     newToggleDlgWidth = "";
                 }
Index: trunk/src/org/openstreetmap/josm/actions/PurgeAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/PurgeAction.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/actions/PurgeAction.java	(revision 3479)
@@ -59,6 +59,6 @@
         /* translator note: other expressions for "purge" might be "forget", "clean", "obliterate", "prune" */
         super(tr("Purge..."), "purge",  tr("Forget objects but do not delete them on server when uploading."),
-        Shortcut.registerShortcut("system:purge", tr("Edit: {0}", tr("Purge")), KeyEvent.VK_P, Shortcut.GROUP_MENU, Shortcut.SHIFT_DEFAULT)
-             , true);
+                Shortcut.registerShortcut("system:purge", tr("Edit: {0}", tr("Purge")), KeyEvent.VK_P, Shortcut.GROUP_MENU, Shortcut.SHIFT_DEFAULT)
+                , true);
         putValue("help", HelpUtil.ht("/Action/Purge"));
     }
@@ -81,5 +81,5 @@
      */
     protected List<OsmPrimitive> toPurgeAdditionally;
-    
+
     @Override
     public void actionPerformed(ActionEvent e) {
@@ -99,6 +99,7 @@
             OsmPrimitive osm = toPurge.iterator().next();
             for (OsmPrimitive parent: osm.getReferrers()) {
-                if (toPurge.contains(parent) || toPurgeChecked.contains(parent))
+                if (toPurge.contains(parent) || toPurgeChecked.contains(parent)) {
                     continue;
+                }
                 if (parent instanceof Way || (parent instanceof Relation && osm.isNew())) {
                     toPurgeAdditionally.add(parent);
@@ -118,14 +119,15 @@
         // to-be-purged or of type relation.
         TOP:
-        for (OsmPrimitive child : toPurgeChecked) {
-            if (child.isNew())
-                continue;
-            for (OsmPrimitive parent : child.getReferrers()) {
-                if (parent instanceof Relation && !toPurgeChecked.contains(parent)) {
-                    makeIncomplete.add(child);
-                    continue TOP;
-                }
-            }
-        }
+            for (OsmPrimitive child : toPurgeChecked) {
+                if (child.isNew()) {
+                    continue;
+                }
+                for (OsmPrimitive parent : child.getReferrers()) {
+                    if (parent instanceof Relation && !toPurgeChecked.contains(parent)) {
+                        makeIncomplete.add(child);
+                        continue TOP;
+                    }
+                }
+            }
 
         // Add untagged way nodes. Do not add nodes that have other
@@ -137,13 +139,15 @@
                     Way w = (Way) osm;
                     NODE:
-                    for (Node n : w.getNodes()) {
-                        if (n.isTagged() || toPurgeChecked.contains(n))
-                            continue;
-                        for (OsmPrimitive ref : n.getReferrers()) {
-                            if (ref != w && !toPurgeChecked.contains(ref))
-                                continue NODE;
+                        for (Node n : w.getNodes()) {
+                            if (n.isTagged() || toPurgeChecked.contains(n)) {
+                                continue;
+                            }
+                            for (OsmPrimitive ref : n.getReferrers()) {
+                                if (ref != w && !toPurgeChecked.contains(ref)) {
+                                    continue NODE;
+                                }
+                            }
+                            wayNodes.add(n);
                         }
-                        wayNodes.add(n);
-                    }
                 }
             }
@@ -186,5 +190,5 @@
         pnl.add(new JLabel("<html>"+
                 tr("This operation makes JOSM forget the selected objects.<br> " +
-                "They will be removed from the layer, but <i>not</i> deleted<br> " +
+                        "They will be removed from the layer, but <i>not</i> deleted<br> " +
                 "on the server when uploading.")+"</html>",
                 ImageProvider.get("purge"), JLabel.LEFT), GBC.eol().fill(GBC.HORIZONTAL));
@@ -193,7 +197,7 @@
             pnl.add(new JSeparator(), GBC.eol().fill(GBC.HORIZONTAL).insets(0,5,0,5));
             pnl.add(new JLabel("<html>"+
-                tr("The following dependent objects will be purged<br> " +
-                "in addition to the selected objects:")+"</html>",
-                ImageProvider.get("warning-small"), JLabel.LEFT), GBC.eol().fill(GBC.HORIZONTAL));
+                    tr("The following dependent objects will be purged<br> " +
+                    "in addition to the selected objects:")+"</html>",
+                    ImageProvider.get("warning-small"), JLabel.LEFT), GBC.eol().fill(GBC.HORIZONTAL));
 
             Collections.sort(toPurgeAdditionally, new Comparator<OsmPrimitive>() {
@@ -202,5 +206,5 @@
                     if (type != 0)
                         return -type;
-                    return (new Long(o1.getUniqueId())).compareTo(o2.getUniqueId());
+                    return (Long.valueOf(o1.getUniqueId())).compareTo(o2.getUniqueId());
                 }
             });
@@ -210,8 +214,8 @@
                 @Override
                 public Component getListCellRendererComponent(JList list,
-                                              Object value,
-                                              int index,
-                                              boolean isSelected,
-                                              boolean cellHasFocus) {
+                        Object value,
+                        int index,
+                        boolean isSelected,
+                        boolean cellHasFocus) {
                     return super.getListCellRendererComponent(list, value, index, true, false);
                 }
@@ -240,5 +244,5 @@
             pnl.add(new JLabel("<html>"+tr("Some of the objects are modified.<br> " +
                     "Proceed, if these changes should be discarded."+"</html>"),
-                        ImageProvider.get("warning-small"), JLabel.LEFT),
+                    ImageProvider.get("warning-small"), JLabel.LEFT),
                     GBC.eol().fill(GBC.HORIZONTAL));
         }
Index: trunk/src/org/openstreetmap/josm/actions/search/PushbackTokenizer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/search/PushbackTokenizer.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/actions/search/PushbackTokenizer.java	(revision 3479)
@@ -70,13 +70,4 @@
             throw new RuntimeException(e.getMessage(), e);
         }
-    }
-
-    private long getNumber() {
-        long result = 0;
-        while (Character.isDigit(c)) {
-            result = result * 10 + (c - '0');
-            getChar();
-        }
-        return result;
     }
 
Index: trunk/src/org/openstreetmap/josm/command/PseudoCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/PseudoCommand.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/command/PseudoCommand.java	(revision 3479)
@@ -3,12 +3,6 @@
 
 import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.swing.tree.DefaultMutableTreeNode;
-import javax.swing.tree.MutableTreeNode;
 
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.data.osm.PrimitiveData;
 
 /**
Index: trunk/src/org/openstreetmap/josm/command/PurgeCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/PurgeCommand.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/command/PurgeCommand.java	(revision 3479)
@@ -104,8 +104,8 @@
                     PrimitiveData empty;
                     switch(osm.getType()) {
-                        case NODE: empty = new NodeData(); break;
-                        case WAY: empty = new WayData(); break;
-                        case RELATION: empty = new RelationData(); break;
-                        default: throw new AssertionError();
+                    case NODE: empty = new NodeData(); break;
+                    case WAY: empty = new WayData(); break;
+                    case RELATION: empty = new RelationData(); break;
+                    default: throw new AssertionError();
                     }
                     empty.setId(osm.getUniqueId());
@@ -154,16 +154,17 @@
          */
         outer:
-        for (Iterator<OsmPrimitive> it = in.iterator(); it.hasNext();) {
-            OsmPrimitive u = it.next();
-            if (u instanceof Node) {
-                Node n = (Node) u;
-                for (OsmPrimitive ref : n.getReferrers()) {
-                    if (ref instanceof Way && in.contains(ref))
-                        continue outer;
-                }
-                it.remove();
-                out.add(n);
-            }
-        }
+            for (Iterator<OsmPrimitive> it = in.iterator(); it.hasNext();) {
+                OsmPrimitive u = it.next();
+                if (u instanceof Node) {
+                    Node n = (Node) u;
+                    for (OsmPrimitive ref : n.getReferrers()) {
+                        if (ref instanceof Way && in.contains(ref)) {
+                            continue outer;
+                        }
+                    }
+                    it.remove();
+                    out.add(n);
+                }
+            }
 
         /**
@@ -171,83 +172,83 @@
          */
         top:
-        while (!in.isEmpty()) {
-            for (Iterator<OsmPrimitive> it = in.iterator(); it.hasNext();) {
-                OsmPrimitive u = it.next();
-                if (u instanceof Way) {
-                    Way w = (Way) u;
-                    it.remove();
-                    for (Node n : w.getNodes()) {
-                        if (in.contains(n)) {
-                            in.remove(n);
-                            out.add(n);
+            while (!in.isEmpty()) {
+                for (Iterator<OsmPrimitive> it = in.iterator(); it.hasNext();) {
+                    OsmPrimitive u = it.next();
+                    if (u instanceof Way) {
+                        Way w = (Way) u;
+                        it.remove();
+                        for (Node n : w.getNodes()) {
+                            if (in.contains(n)) {
+                                in.remove(n);
+                                out.add(n);
+                            }
                         }
-                    }
-                    out.add(w);
-                    continue top;
-                }
-            }
-            break; // no more ways left
-        }
-
-        /**
-         * Rest are relations. Do topological sorting on a DAG where each
-         * arrow points from child to parent. (Because it is faster to
-         * loop over getReferrers() than getMembers().)
-         */
-        Set<Relation> inR = (Set) in;
-        Set<Relation> childlessR = new HashSet<Relation>();
-        List<Relation> outR = new ArrayList<Relation>(inR.size());
-
-        HashMap<Relation, Integer> numChilds = new HashMap<Relation, Integer>();
-
-        // calculate initial number of childs
-        for (Relation r : inR) {
-            numChilds.put(r, 0);
-        }
-        for (Relation r : inR) {
-            for (OsmPrimitive parent : r.getReferrers()) {
-                if (!(parent instanceof Relation))
-                    throw new AssertionError();
-                Integer i = numChilds.get((Relation)parent);
-                if (i != null) {
-                    numChilds.put((Relation)parent, i+1);
-                }
-            }
-        }
-        for (Relation r : inR) {
-            if (numChilds.get(r).equals(0)) {
-                childlessR.add(r);
-            }
-        }
-
-        while (!childlessR.isEmpty()) {
-            // Identify one childless Relation and
-            // let it virtually die. This makes other
-            // relations childless.
-            Iterator<Relation> it  = childlessR.iterator();
-            Relation next = it.next();
-            it.remove();
-            outR.add(next);
-
-            for (OsmPrimitive parentPrim : next.getReferrers()) {
-                Relation parent = (Relation) parentPrim;
-                Integer i = numChilds.get(parent);
-                if (i != null) {
-                    numChilds.put(parent, i-1);
-                    if (i-1 == 0) {
-                        childlessR.add(parent);
-                    }
-                }
-            }
-        }
-
-        if (outR.size() != inR.size())
-            throw new AssertionError("topo sort algorithm failed");
-
-        out.addAll(outR);
-
-        return out;
-    }
-    
+                        out.add(w);
+                        continue top;
+                    }
+                }
+                break; // no more ways left
+            }
+
+            /**
+             * Rest are relations. Do topological sorting on a DAG where each
+             * arrow points from child to parent. (Because it is faster to
+             * loop over getReferrers() than getMembers().)
+             */
+            Set<Relation> inR = (Set) in;
+            Set<Relation> childlessR = new HashSet<Relation>();
+            List<Relation> outR = new ArrayList<Relation>(inR.size());
+
+            HashMap<Relation, Integer> numChilds = new HashMap<Relation, Integer>();
+
+            // calculate initial number of childs
+            for (Relation r : inR) {
+                numChilds.put(r, 0);
+            }
+            for (Relation r : inR) {
+                for (OsmPrimitive parent : r.getReferrers()) {
+                    if (!(parent instanceof Relation))
+                        throw new AssertionError();
+                    Integer i = numChilds.get(parent);
+                    if (i != null) {
+                        numChilds.put((Relation)parent, i+1);
+                    }
+                }
+            }
+            for (Relation r : inR) {
+                if (numChilds.get(r).equals(0)) {
+                    childlessR.add(r);
+                }
+            }
+
+            while (!childlessR.isEmpty()) {
+                // Identify one childless Relation and
+                // let it virtually die. This makes other
+                // relations childless.
+                Iterator<Relation> it  = childlessR.iterator();
+                Relation next = it.next();
+                it.remove();
+                outR.add(next);
+
+                for (OsmPrimitive parentPrim : next.getReferrers()) {
+                    Relation parent = (Relation) parentPrim;
+                    Integer i = numChilds.get(parent);
+                    if (i != null) {
+                        numChilds.put(parent, i-1);
+                        if (i-1 == 0) {
+                            childlessR.add(parent);
+                        }
+                    }
+                }
+            }
+
+            if (outR.size() != inR.size())
+                throw new AssertionError("topo sort algorithm failed");
+
+            out.addAll(outR);
+
+            return out;
+    }
+
     @Override
     public Object getDescription() {
Index: trunk/src/org/openstreetmap/josm/corrector/TagCorrector.java
===================================================================
--- trunk/src/org/openstreetmap/josm/corrector/TagCorrector.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/corrector/TagCorrector.java	(revision 3479)
@@ -153,5 +153,6 @@
                     } else if (primitive instanceof Relation) {
                         clone = new Relation((Relation)primitive);
-                    }
+                    } else
+                        throw new AssertionError();
 
                     // use this structure to remember keys that have been set already so that
Index: trunk/src/org/openstreetmap/josm/data/UndoRedoHandler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/UndoRedoHandler.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/data/UndoRedoHandler.java	(revision 3479)
@@ -5,5 +5,4 @@
 import java.util.Iterator;
 import java.util.LinkedList;
-import java.util.Stack;
 
 import org.openstreetmap.josm.Main;
@@ -79,6 +78,7 @@
             c.undoCommand();
             redoCommands.addFirst(c);
-            if (commands.isEmpty())
+            if (commands.isEmpty()) {
                 break;
+            }
         }
         fireCommandsChanged();
@@ -107,6 +107,7 @@
             c.executeCommand();
             commands.add(c);
-            if (redoCommands.isEmpty())
+            if (redoCommands.isEmpty()) {
                 break;
+            }
         }
         fireCommandsChanged();
Index: trunk/src/org/openstreetmap/josm/data/oauth/OAuthParameters.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/oauth/OAuthParameters.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/data/oauth/OAuthParameters.java	(revision 3479)
@@ -6,5 +6,4 @@
 import oauth.signpost.basic.DefaultOAuthConsumer;
 import oauth.signpost.basic.DefaultOAuthProvider;
-import oauth.signpost.signature.HmacSha1MessageSigner;
 
 import org.openstreetmap.josm.data.Preferences;
@@ -13,5 +12,5 @@
 /**
  * This class manages a set of OAuth parameters.
- * 
+ *
  */
 public class OAuthParameters {
@@ -27,5 +26,5 @@
      * Replies a set of default parameters for a consumer accessing the standard OSM server
      * at http://api.openstreetmap.org/api
-     * 
+     *
      * @return a set of default parameters
      */
@@ -42,5 +41,5 @@
     /**
      * Replies a set of parameters as defined in the preferences.
-     * 
+     *
      * @param pref the preferences
      * @return the parameters
@@ -61,5 +60,5 @@
     /**
      * Clears the preferences for OAuth parameters
-     * 
+     *
      * @param pref the preferences in which keys related to OAuth parameters are
      * removed
@@ -84,5 +83,5 @@
     /**
      * Creates a clone of the parameters in <code>other</code>.
-     * 
+     *
      * @param other the other parameters. Must not be null.
      * @throws IllegalArgumentException thrown if other is null
@@ -130,5 +129,5 @@
     /**
      * Builds an {@see OAuthConsumer} based on these parameters
-     * 
+     *
      * @return the consumer
      */
@@ -140,5 +139,5 @@
     /**
      * Builds an {@see OAuthProvider} based on these parameters and a OAuth consumer <code>consumer</code>.
-     * 
+     *
      * @param consumer the consumer. Must not be null.
      * @return the provider
Index: trunk/src/org/openstreetmap/josm/data/osm/DataSet.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/DataSet.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/data/osm/DataSet.java	(revision 3479)
@@ -326,9 +326,7 @@
      */
     public void fireSelectionChanged(){
-        synchronized (selListeners) {
-            Collection<? extends OsmPrimitive> currentSelection = getSelected();
-            for (SelectionChangedListener l : selListeners) {
-                l.selectionChanged(currentSelection);
-            }
+        Collection<? extends OsmPrimitive> currentSelection = getSelected();
+        for (SelectionChangedListener l : selListeners) {
+            l.selectionChanged(currentSelection);
         }
     }
Index: trunk/src/org/openstreetmap/josm/data/osm/Tag.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Tag.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/data/osm/Tag.java	(revision 3479)
@@ -68,9 +68,4 @@
     }
 
-    @Override
-    public Tag clone() {
-        return new Tag(this);
-    }
-
     /**
      * Replies true if the key of this tag is equal to <code>key</code>.
Index: trunk/src/org/openstreetmap/josm/gui/SplashScreen.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/SplashScreen.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/gui/SplashScreen.java	(revision 3479)
@@ -5,10 +5,8 @@
 
 import java.awt.Color;
-import java.awt.Dimension;
 import java.awt.Font;
 import java.awt.GridBagConstraints;
 import java.awt.GridBagLayout;
 import java.awt.Insets;
-import java.awt.Toolkit;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
Index: trunk/src/org/openstreetmap/josm/gui/bbox/TileSelectionBBoxChooser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/bbox/TileSelectionBBoxChooser.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/gui/bbox/TileSelectionBBoxChooser.java	(revision 3479)
@@ -24,5 +24,4 @@
 import java.util.Set;
 import java.util.Vector;
-import java.util.logging.Logger;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -55,5 +54,5 @@
  * TileSelectionBBoxChooser allows to select a bounding box (i.e. for downloading) based
  * on OSM tile numbers.
- * 
+ *
  * TileSelectionBBoxChooser can be embedded as component in a Swing container. Example:
  * <pre>
@@ -70,14 +69,12 @@
  *        }
  *    });
- * 
+ *
  *    // init the chooser with a bounding box
  *    chooser.setBoundingBox(....);
- * 
+ *
  *    f.setVisible(true);
  * </pre>
  */
 public class TileSelectionBBoxChooser extends JPanel implements BBoxChooser{
-
-    static private final Logger logger = Logger.getLogger(TileSelectionBBoxChooser.class.getName());
 
     /** the current bounding box */
@@ -129,5 +126,5 @@
     /**
      * Replies the current bounding box. null, if no valid bounding box is currently selected.
-     * 
+     *
      */
     public Bounds getBoundingBox() {
@@ -137,5 +134,5 @@
     /**
      * Sets the current bounding box.
-     * 
+     *
      * @param bbox the bounding box. null, if this widget isn't initialized with a bounding box
      */
@@ -162,5 +159,5 @@
     /**
      * Computes the bounding box given a tile grid.
-     * 
+     *
      * @param tb the description of the tile grid
      * @return the bounding box
@@ -177,5 +174,5 @@
     /**
      * Replies lat/lon of the north/west-corner of a tile at a specific zoom level
-     * 
+     *
      * @param tile  the tile address (x,y)
      * @param zoom the zoom level
@@ -205,5 +202,5 @@
     /**
      * A panel for describing a rectangular area of OSM tiles at a given zoom level.
-     * 
+     *
      * The panel emits PropertyChangeEvents for the property {@see TileGridInputPanel#TILE_BOUNDS_PROP}
      * when the user successfully enters a valid tile grid specification.
@@ -572,5 +569,5 @@
     /**
      * Validates the x- or y-coordinate of a tile at a given zoom level.
-     * 
+     *
      */
     static private class TileCoordinateValidator extends AbstractTextComponentValidator {
@@ -653,5 +650,4 @@
      */
     static private class TileBoundsMapView extends JMapViewer {
-        private Bounds bbox;
         private Point min;
         private Point max;
@@ -662,5 +658,4 @@
 
         public void setBoundingBox(Bounds bbox){
-            this.bbox = bbox;
             if (bbox == null) {
                 min = null;
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolver.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolver.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolver.java	(revision 3479)
@@ -35,5 +35,4 @@
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField;
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionList;
-import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionManager;
 import org.openstreetmap.josm.tools.ImageProvider;
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/CommandListMutableTreeNode.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/CommandListMutableTreeNode.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/CommandListMutableTreeNode.java	(revision 3479)
@@ -4,5 +4,4 @@
 import javax.swing.tree.DefaultMutableTreeNode;
 
-import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.command.PseudoCommand;
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/LatLonDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/LatLonDialog.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/LatLonDialog.java	(revision 3479)
@@ -2,5 +2,4 @@
 package org.openstreetmap.josm.gui.dialogs;
 
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 import static org.openstreetmap.josm.tools.I18n.tr;
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentPanel.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentPanel.java	(revision 3479)
@@ -439,5 +439,4 @@
         private JMultilineLabel lblMessage;
         private Changeset current;
-        private DownloadAction actDownload;
 
         protected void build() {
@@ -447,5 +446,5 @@
             );
             add(lblMessage);
-            add(new JButton(actDownload = new DownloadAction()));
+            add(new JButton(new DownloadAction()));
 
         }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberRoleCellEditor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberRoleCellEditor.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberRoleCellEditor.java	(revision 3479)
@@ -9,8 +9,6 @@
 import javax.swing.table.TableCellEditor;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField;
-import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionManager;
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionList;
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowser.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowser.java	(revision 3479)
@@ -42,5 +42,4 @@
     private JCheckBox cbReadFull;
     private EditAction editAction;
-    private final GenericRelationEditor relationEditor;
 
     /**
@@ -70,5 +69,4 @@
 
     public ReferringRelationsBrowser(OsmDataLayer layer, ReferringRelationsBrowserModel model, GenericRelationEditor relationEditor) {
-        this.relationEditor = relationEditor;
         this.model = model;
         this.layer = layer;
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RelationDialogManager.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RelationDialogManager.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RelationDialogManager.java	(revision 3479)
@@ -2,7 +2,5 @@
 package org.openstreetmap.josm.gui.dialogs.relation;
 
-import java.awt.Dimension;
 import java.awt.Point;
-import java.awt.Toolkit;
 import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
@@ -235,6 +233,7 @@
     protected boolean hasEditorWithCloseUpperLeftCorner(Point p, RelationEditor thisEditor) {
         for (RelationEditor editor: openDialogs.values()) {
-            if (editor == thisEditor)
+            if (editor == thisEditor) {
                 continue;
+            }
             Point corner = editor.getLocation();
             if (p.x >= corner.x -5 && corner.x + 5 >= p.x
Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageDisplay.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageDisplay.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageDisplay.java	(revision 3479)
@@ -34,14 +34,11 @@
     /** The image currently displayed */
     private Image image = null;
-    private Image image_c = null;
 
     /** The image currently displayed */
     private boolean errorLoading = false;
-    private boolean errorLoading_c = false;
 
     /** The rectangle (in image coordinates) of the image that is visible. This rectangle is calculated
      * each time the zoom is modified */
     private Rectangle visibleRect = null;
-    private Rectangle visibleRect_c = null;
 
     /** When a selection is done, the rectangle of the selection (in image coordinates) */
Index: trunk/src/org/openstreetmap/josm/gui/preferences/StyleSourceEditor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/StyleSourceEditor.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/StyleSourceEditor.java	(revision 3479)
@@ -773,5 +773,5 @@
                     r = new InputStreamReader(stream);
                 }
-                BufferedReader reader = new BufferedReader(r);
+                reader = new BufferedReader(r);
 
                 String line;
Index: trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java	(revision 3479)
@@ -118,5 +118,5 @@
             AutoCompletionListItem bestItem = null;
             for (int i = 0, n = model.getSize(); i < n; i++) {
-                AutoCompletionListItem currentItem = (AutoCompletionListItem) model.getElementAt(i);;
+                AutoCompletionListItem currentItem = (AutoCompletionListItem) model.getElementAt(i);
                 if (currentItem.getValue().startsWith(pattern)) {
                     if (bestItem == null || currentItem.getPriority().compareTo(bestItem.getPriority()) > 0) {
Index: trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletionManager.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletionManager.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletionManager.java	(revision 3479)
@@ -4,19 +4,16 @@
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Comparator;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.Map.Entry;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.logging.Logger;
-
+
+import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.OsmUtils;
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.RelationMember;
-import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.event.AbstractDatasetChangedEvent;
 import org.openstreetmap.josm.data.osm.event.DataChangedEvent;
@@ -28,7 +25,4 @@
 import org.openstreetmap.josm.data.osm.event.TagsChangedEvent;
 import org.openstreetmap.josm.data.osm.event.WayNodesChangedEvent;
-import org.openstreetmap.josm.gui.MapView;
-import org.openstreetmap.josm.gui.layer.Layer;
-import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.gui.tagging.TaggingPreset;
 import org.openstreetmap.josm.tools.MultiMap;
@@ -70,6 +64,6 @@
      */
     protected static MultiMap<String, String> presetTagCache = new MultiMap<String, String>();
-    /** 
-     * the cached list of member roles 
+    /**
+     * the cached list of member roles
      * only accessed by getRoleCache(), rebuild() and cacheRelationMemberRoles()
      * use getRoleCache() accessor
@@ -187,6 +181,7 @@
                     TaggingPreset.Roles r = (TaggingPreset.Roles) item;
                     for (TaggingPreset.Role i : r.roles) {
-                        if (i.key != null)
+                        if (i.key != null) {
                             presetRoleCache.add(i.key);
+                        }
                     }
                 }
Index: trunk/src/org/openstreetmap/josm/gui/tagging/tagging-preset.xsd
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/tagging-preset.xsd	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/tagging-preset.xsd	(revision 3479)
@@ -161,4 +161,5 @@
 		<attribute name="requisite" type="string"/>
 		<attribute name="type" type="string"/>
+		<attribute name="count" type="integer"/>
 	</complexType>
 
Index: trunk/src/org/openstreetmap/josm/io/OsmReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmReader.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/io/OsmReader.java	(revision 3479)
@@ -32,5 +32,4 @@
 import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.SimplePrimitiveId;
-import org.openstreetmap.josm.data.osm.Storage;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.data.osm.Way;
Index: trunk/src/org/openstreetmap/josm/plugins/ReadRemotePluginInformationTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/ReadRemotePluginInformationTask.java	(revision 3478)
+++ trunk/src/org/openstreetmap/josm/plugins/ReadRemotePluginInformationTask.java	(revision 3479)
@@ -7,6 +7,6 @@
 import java.io.ByteArrayInputStream;
 import java.io.File;
+import java.io.FileOutputStream;
 import java.io.FilenameFilter;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
@@ -48,5 +48,5 @@
     private List<PluginInformation> availablePlugins;
 
-    protected enum CacheType {PLUGIN_LIST, ICON_LIST};
+    protected enum CacheType {PLUGIN_LIST, ICON_LIST}
 
     protected void init(Collection<String> sites){
@@ -60,5 +60,5 @@
     /**
      * Creates the task
-     * 
+     *
      * @param sites the collection of download sites. Defaults to the empty collection if null.
      */
@@ -70,5 +70,5 @@
     /**
      * Creates the task
-     * 
+     *
      * @param monitor the progress monitor. Defaults to {@see NullProgressMonitor#INSTANCE} if null
      * @param sites the collection of download sites. Defaults to the empty collection if null.
@@ -96,5 +96,5 @@
      * Creates the file name for the cached plugin list and the icon cache
      * file.
-     * 
+     *
      * @param site the name of the site
      * @param type icon cache or plugin list cache
@@ -122,10 +122,10 @@
             }
             switch (type) {
-                case PLUGIN_LIST:
-                    sb.append(".txt");
-                    break;
-                case ICON_LIST:
-                    sb.append("-icons.zip");
-                    break;
+            case PLUGIN_LIST:
+                sb.append(".txt");
+                break;
+            case ICON_LIST:
+                sb.append("-icons.zip");
+                break;
             }
             name = sb.toString();
@@ -138,5 +138,5 @@
     /**
      * Downloads the list from a remote location
-     * 
+     *
      * @param site the site URL
      * @param monitor a progress monitor
@@ -150,8 +150,9 @@
             String pl = Main.pref.getCollectionAsString("plugins");
             String printsite = site.replaceAll("%<(.*)>", "");
-            if(pl != null && pl.length() != 0)
+            if(pl != null && pl.length() != 0) {
                 site = site.replaceAll("%<(.*)>", "$1"+pl);
-            else
+            } else {
                 site = printsite;
+            }
 
             monitor.beginTask("");
@@ -257,5 +258,5 @@
     /**
      * Writes the list of plugins to a cache file
-     * 
+     *
      * @param site the site from where the list was downloaded
      * @param list the downloaded list
@@ -288,5 +289,5 @@
      * Filter information about deprecated plugins from the list of downloaded
      * plugins
-     * 
+     *
      * @param plugins the plugin informations
      * @return the plugin informations, without deprecated plugins
@@ -306,5 +307,5 @@
     /**
      * Parses the plugin list
-     * 
+     *
      * @param site the site from where the list was downloaded
      * @param doc the document with the plugin list
@@ -335,13 +336,14 @@
         for (String location : PluginInformation.getPluginLocations()) {
             File [] f = new File(location).listFiles(
-                new FilenameFilter() {
-                    public boolean accept(File dir, String name) {
-                        return name.matches("^([0-9]+-)?site.*\\.txt$") ||
-                               name.matches("^([0-9]+-)?site.*-icons\\.zip$");
+                    new FilenameFilter() {
+                        public boolean accept(File dir, String name) {
+                            return name.matches("^([0-9]+-)?site.*\\.txt$") ||
+                            name.matches("^([0-9]+-)?site.*-icons\\.zip$");
+                        }
                     }
-                }
             );
-            if(f != null && f.length > 0)
+            if(f != null && f.length > 0) {
                 siteCacheFiles.addAll(Arrays.asList(f));
+            }
         }
 
@@ -382,5 +384,5 @@
     /**
      * Replies the list of plugins described in the downloaded plugin lists
-     * 
+     *
      * @return  the list of plugins
      */
Index: trunk/test/unit/org/openstreetmap/josm/data/projection/SwissGridTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/projection/SwissGridTest.java	(revision 3478)
+++ trunk/test/unit/org/openstreetmap/josm/data/projection/SwissGridTest.java	(revision 3479)
@@ -20,15 +20,15 @@
      */
     ProjData[] data = {
-        new ProjData("Zimmerwald",      d(7,27,54.983506), d(46,52,37.540562), 947.149, 602030.680, 191775.030, 897.915),
-        new ProjData("Chrischona",      d(7,40,6.983077), d(47,34, 1.385301), 504.935,  617306.300, 268507.300, 456.064),
-        new ProjData("Pfaender",        d(9,47,3.697723), d(47,30,55.172797), 1089.372, 776668.105, 265372.681, 1042.624),
-        new ProjData("La Givrine",      d(6,6,7.326361), d(46,27,14.690021), 1258.274,  497313.292, 145625.438, 1207.434),
-        new ProjData("Monte Generoso",  d(9,1,16.389053), d(45,55,45.438020), 1685.027, 722758.810, 87649.670, 1636.600) };
+            new ProjData("Zimmerwald",      d(7,27,54.983506), d(46,52,37.540562), 947.149, 602030.680, 191775.030, 897.915),
+            new ProjData("Chrischona",      d(7,40,6.983077), d(47,34, 1.385301), 504.935,  617306.300, 268507.300, 456.064),
+            new ProjData("Pfaender",        d(9,47,3.697723), d(47,30,55.172797), 1089.372, 776668.105, 265372.681, 1042.624),
+            new ProjData("La Givrine",      d(6,6,7.326361), d(46,27,14.690021), 1258.274,  497313.292, 145625.438, 1207.434),
+            new ProjData("Monte Generoso",  d(9,1,16.389053), d(45,55,45.438020), 1685.027, 722758.810, 87649.670, 1636.600) };
 
     private double d(double deg, double min, double sec) {
         return deg + min / 60. + sec / 3600.;
     }
-    
-    private class ProjData {
+
+    private static class ProjData {
         public String name;
         public LatLon ll;
@@ -52,5 +52,5 @@
         }
         assertTrue(errs, errs.length() == 0);
-    }        
+    }
 
     @Test
@@ -130,5 +130,5 @@
             assertTrue("Berne", Math.abs(ll.lon() - (7.0 + 26.0 / 60 + 19.076595154147 / 3600)) < 0.00001);
         }
-        
+
         {
             EastNorth en = new EastNorth(700000.0, 100000.0);
@@ -142,5 +142,5 @@
 
     /**
-     * Send and return should have less than 2mm of difference. 
+     * Send and return should have less than 2mm of difference.
      */
     @Test
@@ -185,5 +185,5 @@
             assertTrue("Berne", Math.abs(en.north() - en2.north()) < 0.002);
         }
-        
+
         {
             EastNorth en = new EastNorth(700000.0, 100000.0);
