Index: trunk/src/org/openstreetmap/josm/actions/CreateMultipolygonAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CreateMultipolygonAction.java	(revision 6257)
+++ trunk/src/org/openstreetmap/josm/actions/CreateMultipolygonAction.java	(revision 6258)
@@ -12,10 +12,11 @@
 import java.util.List;
 import java.util.Map;
-
+import java.util.Map.Entry;
 import java.util.Set;
 import java.util.TreeSet;
+
 import javax.swing.JOptionPane;
-
 import javax.swing.SwingUtilities;
+
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.command.AddCommand;
@@ -51,4 +52,7 @@
 public class CreateMultipolygonAction extends JosmAction {
 
+    /**
+     * Constructs a new {@code CreateMultipolygonAction}.
+     */
     public CreateMultipolygonAction() {
         super(tr("Create multipolygon"), "multipoly_create", tr("Create multipolygon."),
@@ -258,15 +262,16 @@
         boolean moveTags = Main.pref.getBoolean("multipoly.movetags", true);
 
-        for( String key : values.keySet() ) {
+        for (Entry<String, String> entry : values.entrySet()) {
             List<OsmPrimitive> affectedWays = new ArrayList<OsmPrimitive>();
-            String value = values.get(key);
-
-            for( Way way : innerWays ) {
-                if( way.hasKey(key) && (value.equals(way.get(key))) ) {
+            String key = entry.getKey();
+            String value = entry.getValue();
+
+            for (Way way : innerWays) {
+                if (way.hasKey(key) && (value.equals(way.get(key)))) {
                     affectedWays.add(way);
                 }
             }
 
-            if( moveTags ) {
+            if (moveTags) {
                 // remove duplicated tags from outer ways
                 for( Way way : outerWays ) {
@@ -277,5 +282,5 @@
             }
 
-            if(!affectedWays.isEmpty()) {
+            if (!affectedWays.isEmpty()) {
                 // reset key tag on affected ways
                 commands.add(new ChangePropertyCommand(affectedWays, key, null));
@@ -283,19 +288,20 @@
         }
 
-        if( moveTags ) {
+        if (moveTags) {
             // add those tag values to the relation
 
             boolean fixed = false;
             Relation r2 = new Relation(relation);
-            for( String key : values.keySet() ) {
-                if( !r2.hasKey(key) && !key.equals("area") ) {
-                    if( relation.isNew() )
-                        relation.put(key, values.get(key));
+            for (Entry<String, String> entry : values.entrySet()) {
+                String key = entry.getKey();
+                if (!r2.hasKey(key) && !key.equals("area") ) {
+                    if (relation.isNew())
+                        relation.put(key, entry.getValue());
                     else
-                        r2.put(key, values.get(key));
+                        r2.put(key, entry.getValue());
                     fixed = true;
                 }
             }
-            if( fixed && !relation.isNew() )
+            if (fixed && !relation.isNew())
                 commands.add(new ChangeCommand(relation, r2));
         }
Index: trunk/src/org/openstreetmap/josm/actions/PasteTagsAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/PasteTagsAction.java	(revision 6257)
+++ trunk/src/org/openstreetmap/josm/actions/PasteTagsAction.java	(revision 6258)
@@ -13,4 +13,5 @@
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 
 import org.openstreetmap.josm.Main;
@@ -40,4 +41,7 @@
     private static final String help = ht("/Action/PasteTags");
 
+    /**
+     * Constructs a new {@code PasteTagsAction}.
+     */
     public PasteTagsAction() {
         super(tr("Paste Tags"), "pastetags",
@@ -270,8 +274,7 @@
 
         List<Command> commands = new ArrayList<Command>(tags.size());
-        String v;
-        for (String key: tags.keySet()) {
-            v = tags.get(key);
-            commands.add(new ChangePropertyCommand(selection, key, "".equals(v)?null:v));
+        for (Entry<String, String> entry: tags.entrySet()) {
+            String v = entry.getValue();
+            commands.add(new ChangePropertyCommand(selection, entry.getKey(), "".equals(v)?null:v));
         }
         commitCommands(selection, commands);
Index: trunk/src/org/openstreetmap/josm/data/CustomConfigurator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/CustomConfigurator.java	(revision 6257)
+++ trunk/src/org/openstreetmap/josm/data/CustomConfigurator.java	(revision 6258)
@@ -895,8 +895,9 @@
     private static void deletePreferenceKeyByPattern(String pattern, Preferences pref) {
         Map<String, Setting> allSettings = pref.getAllSettings();
-        for (String key : allSettings.keySet()) {
+        for (Entry<String, Setting> entry : allSettings.entrySet()) {
+            String key = entry.getKey();
             if (key.matches(pattern)) {
-                log("Deleting preferences:  deleting key from preferences: " + key);
-                pref.putSetting(key, allSettings.get(key).getNullInstance());
+                log("Deleting preferences: deleting key from preferences: " + key);
+                pref.putSetting(key, entry.getValue().getNullInstance());
             }
         }
@@ -906,5 +907,5 @@
         Map<String, Setting> allSettings = pref.getAllSettings();
         if (allSettings.containsKey(key)) {
-            log("Deleting preferences:  deleting key from preferences: " + key);
+            log("Deleting preferences: deleting key from preferences: " + key);
             pref.putSetting(key, allSettings.get(key).getNullInstance());
         }
Index: trunk/src/org/openstreetmap/josm/data/validation/tests/Addresses.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/Addresses.java	(revision 6257)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/Addresses.java	(revision 6258)
@@ -13,4 +13,5 @@
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 
@@ -147,9 +148,9 @@
             // Report duplicate house numbers
             String englishDescription = marktr("House number ''{0}'' duplicated");
-            for (String key : map.keySet()) {
-                List<OsmPrimitive> list = map.get(key);
+            for (Entry<String, List<OsmPrimitive>> entry : map.entrySet()) {
+                List<OsmPrimitive> list = entry.getValue();
                 if (list.size() > 1) {
                     errors.add(new AddressError(DUPLICATE_HOUSE_NUMBER, list,
-                            tr("Duplicate house numbers"), tr(englishDescription, key), englishDescription));
+                            tr("Duplicate house numbers"), tr(englishDescription, entry.getKey()), englishDescription));
                 }
             }
Index: trunk/src/org/openstreetmap/josm/data/validation/tests/DuplicateNode.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/DuplicateNode.java	(revision 6257)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/DuplicateNode.java	(revision 6258)
@@ -15,4 +15,5 @@
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 
@@ -207,6 +208,6 @@
 
                 int nbType=0;
-                for (String type: typeMap.keySet()) {
-                    if (typeMap.get(type)) {
+                for (Entry<String, Boolean> entry: typeMap.entrySet()) {
+                    if (entry.getValue()) {
                         nbType++;
                     }
Index: trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 6257)
+++ trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 6258)
@@ -21,4 +21,5 @@
 import java.util.Locale;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 import java.util.Stack;
@@ -665,7 +666,7 @@
         if (!nlists.isEmpty()) {
             Double minDistSq = null;
-            List<Node> nlist;
-            for (Double distSq : nlists.keySet()) {
-                nlist = nlists.get(distSq);
+            for (Entry<Double, List<Node>> entry : nlists.entrySet()) {
+                Double distSq = entry.getKey();
+                List<Node> nlist = entry.getValue();
 
                 // filter nodes to be ignored before determining minDistSq..
@@ -754,5 +755,5 @@
      */
     public final Node getNearestNode(Point p, Predicate<OsmPrimitive> predicate,
-            boolean use_selected, Collection<OsmPrimitive> preferredRefs) {
+            boolean useSelected, Collection<OsmPrimitive> preferredRefs) {
 
         Map<Double, List<Node>> nlists = getNearestNodesImpl(p, predicate);
@@ -761,9 +762,10 @@
         if (preferredRefs != null && preferredRefs.isEmpty()) preferredRefs = null;
         Node ntsel = null, ntnew = null, ntref = null;
-        boolean useNtsel = use_selected;
+        boolean useNtsel = useSelected;
         double minDistSq = nlists.keySet().iterator().next();
 
-        for (Double distSq : nlists.keySet()) {
-            for (Node nd : nlists.get(distSq)) {
+        for (Entry<Double, List<Node>> entry : nlists.entrySet()) {
+            Double distSq = entry.getKey();
+            for (Node nd : entry.getValue()) {
                 // find the nearest selected node
                 if (ntsel == null && nd.isSelected()) {
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java	(revision 6257)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java	(revision 6258)
@@ -20,4 +20,5 @@
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 
 import javax.swing.AbstractAction;
@@ -451,6 +452,7 @@
             }
             String text = "";
-            for (OsmPrimitiveType type: stat.keySet()) {
-                int numPrimitives = stat.get(type) == null ? 0 : stat.get(type);
+            for (Entry<OsmPrimitiveType, Integer> entry: stat.entrySet()) {
+                OsmPrimitiveType type = entry.getKey();
+                int numPrimitives = entry.getValue() == null ? 0 : entry.getValue();
                 if (numPrimitives == 0) {
                     continue;
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/sort/RelationSorter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/sort/RelationSorter.java	(revision 6257)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/sort/RelationSorter.java	(revision 6258)
@@ -10,4 +10,5 @@
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 
 import org.openstreetmap.josm.data.osm.RelationMember;
@@ -65,5 +66,5 @@
     }
 
-    /*
+    /**
      * Sort a collection of relation members by the way they are linked.
      *
@@ -93,6 +94,6 @@
 
         // Sort members and add them to result
-        for (AdditionalSorter s : customMap.keySet()) {
-            newMembers.addAll(s.sortMembers(customMap.get(s)));
+        for (Entry<AdditionalSorter, List<RelationMember>> entry : customMap.entrySet()) {
+            newMembers.addAll(entry.getKey().sortMembers(entry.getValue()));
         }
 
Index: trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java	(revision 6257)
+++ trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java	(revision 6258)
@@ -22,4 +22,5 @@
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 
 import javax.swing.AbstractAction;
@@ -312,7 +313,7 @@
     public void setDefaultChangesetTags(Map<String, String> tags) {
         pnlTagSettings.setDefaultTags(tags);
-         for (String key: tags.keySet()) {
-            if (key.equals("comment")) {
-                changesetCommentModel.setComment(tags.get(key));
+         for (Entry<String, String> entry: tags.entrySet()) {
+            if ("comment".equals(entry.getKey())) {
+                changesetCommentModel.setComment(entry.getValue());
             }
         }
Index: trunk/src/org/openstreetmap/josm/gui/tagging/TagEditorModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TagEditorModel.java	(revision 6257)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TagEditorModel.java	(revision 6258)
@@ -13,4 +13,5 @@
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 
 import javax.swing.DefaultListSelectionModel;
@@ -369,7 +370,6 @@
     public void initFromTags(Map<String,String> tags) {
         this.tags.clear();
-        for (String key : tags.keySet()) {
-            String value = tags.get(key);
-            this.tags.add(new TagModel(key,value));
+        for (Entry<String, String> entry : tags.entrySet()) {
+            this.tags.add(new TagModel(entry.getKey(), entry.getValue()));
         }
         sort();
Index: trunk/src/org/openstreetmap/josm/io/ChangesetQuery.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/ChangesetQuery.java	(revision 6257)
+++ trunk/src/org/openstreetmap/josm/io/ChangesetQuery.java	(revision 6258)
@@ -13,4 +13,5 @@
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Map.Entry;
 
 import org.openstreetmap.josm.data.Bounds;
@@ -368,5 +369,6 @@
             ChangesetQuery csQuery = new ChangesetQuery();
 
-            for (String k: queryParams.keySet()) {
+            for (Entry<String, String> entry: queryParams.entrySet()) {
+                String k = entry.getKey();
                 if (k.equals("uid")) {
                     if (queryParams.containsKey("display_name"))
@@ -378,11 +380,11 @@
                     csQuery.forUser(queryParams.get("display_name"));
                 } else if (k.equals("open")) {
-                    boolean b = parseBoolean(queryParams.get(k), "open");
+                    boolean b = parseBoolean(entry.getValue(), "open");
                     csQuery.beingOpen(b);
                 } else if (k.equals("closed")) {
-                    boolean b = parseBoolean(queryParams.get(k), "closed");
+                    boolean b = parseBoolean(entry.getValue(), "closed");
                     csQuery.beingClosed(b);
                 } else if (k.equals("time")) {
-                    Date[] dates = parseTime(queryParams.get(k));
+                    Date[] dates = parseTime(entry.getValue());
                     switch(dates.length) {
                     case 1:
@@ -395,10 +397,10 @@
                 } else if (k.equals("bbox")) {
                     try {
-                        csQuery.inBbox(new Bounds(queryParams.get(k), ","));
+                        csQuery.inBbox(new Bounds(entry.getValue(), ","));
                     } catch(IllegalArgumentException e) {
                         throw new ChangesetQueryUrlException(e);
                     }
                 } else
-                    throw new ChangesetQueryUrlException(tr("Unsupported parameter ''{0}'' in changeset query string",k ));
+                    throw new ChangesetQueryUrlException(tr("Unsupported parameter ''{0}'' in changeset query string", k));
             }
             return csQuery;
Index: trunk/src/org/openstreetmap/josm/tools/TextTagParser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/TextTagParser.java	(revision 6257)
+++ trunk/src/org/openstreetmap/josm/tools/TextTagParser.java	(revision 6258)
@@ -9,4 +9,5 @@
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -232,5 +233,4 @@
      */
     public static boolean validateTags(Map<String, String> tags) {
-        String value;
         int r;
         int s = tags.size();
@@ -242,6 +242,7 @@
             if (r==2 || r==3) return false; if (r==4) return true;
         }
-        for (String key: tags.keySet()) {
-            value = tags.get(key);
+        for (Entry<String, String> entry : tags.entrySet()) {
+            String key = entry.getKey();
+            String value = entry.getValue();
             if (key.length() > MAX_KEY_LENGTH) {
                 r = warning(tr("Key is too long (max {0} characters):", MAX_KEY_LENGTH), key+"="+value, "tags.paste.keytoolong");
