Index: applications/editors/josm/plugins/lakewalker/.settings/org.eclipse.jdt.ui.prefs
===================================================================
--- applications/editors/josm/plugins/lakewalker/.settings/org.eclipse.jdt.ui.prefs	(revision 19624)
+++ applications/editors/josm/plugins/lakewalker/.settings/org.eclipse.jdt.ui.prefs	(revision 19624)
@@ -0,0 +1,54 @@
+#Sun Jan 24 21:18:20 CET 2010
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=false
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
Index: applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/BooleanConfigurer.java
===================================================================
--- applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/BooleanConfigurer.java	(revision 19623)
+++ applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/BooleanConfigurer.java	(revision 19624)
@@ -14,5 +14,5 @@
  *
  * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, copies are available 
+ * License along with this library; if not, copies are available
  * at http://www.opensource.org.
  */
@@ -23,64 +23,69 @@
  */
 public class BooleanConfigurer extends Configurer {
-  private javax.swing.JCheckBox box;
+	private javax.swing.JCheckBox box;
 
-  public BooleanConfigurer() {
-    this(false);
-  }
-  
-  public BooleanConfigurer(boolean val) {
-    this(null, "", val);
-  }
-  
-  public BooleanConfigurer(String key, String name, Boolean val) {
-    super(key, name, val);
-  }
+	public BooleanConfigurer() {
+		this(false);
+	}
 
-  public BooleanConfigurer(String key, String name, boolean val) {
-    super(key, name, val ? Boolean.TRUE : Boolean.FALSE);
-  }
+	public BooleanConfigurer(boolean val) {
+		this(null, "", val);
+	}
 
-  public BooleanConfigurer(String key, String name) {
-    this(key, name, Boolean.FALSE);
-  }
+	public BooleanConfigurer(String key, String name, Boolean val) {
+		super(key, name, val);
+	}
 
-  public String getValueString() {
-    return booleanValue().toString();
-  }
+	public BooleanConfigurer(String key, String name, boolean val) {
+		super(key, name, val ? Boolean.TRUE : Boolean.FALSE);
+	}
 
-  public void setValue(Object o) {
-    super.setValue(o);
-    if (box != null
-      && !o.equals(new Boolean(box.isSelected()))) {
-      box.setSelected(booleanValue().booleanValue());
-    }
-  }
+	public BooleanConfigurer(String key, String name) {
+		this(key, name, Boolean.FALSE);
+	}
 
-  public void setValue(String s) {
-    setValue(Boolean.valueOf(s));
-  }
+	@Override
+	public String getValueString() {
+		return booleanValue().toString();
+	}
 
-  public void setName(String s) {
-    super.setName(s);
-    if (box != null) {
-      box.setText(s);
-    }
-  }
+	@Override
+	public void setValue(Object o) {
+		super.setValue(o);
+		if (box != null
+				&& !o.equals(box.isSelected())) {
+			box.setSelected(booleanValue().booleanValue());
+		}
+	}
 
-  public java.awt.Component getControls() {
-    if (box == null) {
-      box = new javax.swing.JCheckBox(getName());
-      box.setSelected(booleanValue().booleanValue());
-      box.addItemListener(new java.awt.event.ItemListener() {
-        public void itemStateChanged(java.awt.event.ItemEvent e) {
-          setValue(new Boolean(box.isSelected()));
-        }
-      });
-    }
-    return box;
-  }
+	@Override
+	public void setValue(String s) {
+		setValue(Boolean.valueOf(s));
+	}
 
-  public Boolean booleanValue() {
-    return (Boolean) value;
-  }
+	@Override
+	public void setName(String s) {
+		super.setName(s);
+		if (box != null) {
+			box.setText(s);
+		}
+	}
+
+	@Override
+	public java.awt.Component getControls() {
+		if (box == null) {
+			box = new javax.swing.JCheckBox(getName());
+			box.setSelected(booleanValue().booleanValue());
+			box.addItemListener(new java.awt.event.ItemListener() {
+				public void itemStateChanged(java.awt.event.ItemEvent e) {
+					setValue(box.isSelected());
+				}
+			});
+		}
+		return box;
+	}
+
+	public Boolean booleanValue() {
+		return (Boolean) value;
+	}
 }
Index: applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/DoubleConfigurer.java
===================================================================
--- applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/DoubleConfigurer.java	(revision 19623)
+++ applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/DoubleConfigurer.java	(revision 19624)
@@ -36,5 +36,6 @@
     }
 
-    public void setValue(String s) {
+    @Override
+	public void setValue(String s) {
         Double d = null;
         try {
@@ -48,5 +49,6 @@
     }
 
-    public void setValue(Object o) {
+    @Override
+	public void setValue(Object o) {
         if (!noUpdate && nameField != null && o != null) {
             nameField.setText(o.toString());
@@ -55,5 +57,6 @@
     }
 
-    public String getValueString() {
+    @Override
+	public String getValueString() {
         if (value == null || value.equals("")) {
             return null;
Index: applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/IntConfigurer.java
===================================================================
--- applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/IntConfigurer.java	(revision 19623)
+++ applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/IntConfigurer.java	(revision 19624)
@@ -23,51 +23,54 @@
  */
 public class IntConfigurer extends StringConfigurer {
-  
-  public IntConfigurer() {
-    super();
-  }
-  
-  public IntConfigurer(String key, String name) {
-    this(key, name, new Integer(0));
-  }
 
-  public IntConfigurer(String key, String name, Integer val) {
-    super(key, name);
-    if (val != null) {
-      setValue(val);
-    }
-  }
+	public IntConfigurer() {
+		super();
+	}
 
-  public void setValue(String s) {
-    Integer i = null;
-    try {
-      i = Integer.valueOf(s);
-    }
-    catch (NumberFormatException e) {
-      i = null;
-    }
-    if (i != null) {
-      setValue(i);
-    }
-  }
-  
-  public int getIntValue(int defaultValue) {
-    if (getValue() instanceof Integer) {
-      return ((Integer)getValue()).intValue();
-    }
-    else {
-      return defaultValue;
-    }
-  }
+	public IntConfigurer(String key, String name) {
+		this(key, name, 0);
+	}
 
-  public void setValue(Object o) {
-    if (!noUpdate && nameField != null && o != null) {
-      nameField.setText(o.toString());
-    }
-    super.setValue(o);
-  }
+	public IntConfigurer(String key, String name, Integer val) {
+		super(key, name);
+		if (val != null) {
+			setValue(val);
+		}
+	}
 
-  public String getValueString() {
-    return value == null ? null : value.toString();
-  }
+	@Override
+	public void setValue(String s) {
+		Integer i = null;
+		try {
+			i = Integer.valueOf(s);
+		}
+		catch (NumberFormatException e) {
+			i = null;
+		}
+		if (i != null) {
+			setValue(i);
+		}
+	}
+
+	public int getIntValue(int defaultValue) {
+		if (getValue() instanceof Integer) {
+			return ((Integer)getValue()).intValue();
+		}
+		else {
+			return defaultValue;
+		}
+	}
+
+	@Override
+	public void setValue(Object o) {
+		if (!noUpdate && nameField != null && o != null) {
+			nameField.setText(o.toString());
+		}
+		super.setValue(o);
+	}
+
+	@Override
+	public String getValueString() {
+		return value == null ? null : value.toString();
+	}
 }
Index: applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/Lakewalker.java
===================================================================
--- applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/Lakewalker.java	(revision 19623)
+++ applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/Lakewalker.java	(revision 19624)
@@ -5,20 +5,13 @@
 import java.io.File;
 import java.util.ArrayList;
-import java.util.Collection;
-import java.util.LinkedList;
-
-import org.openstreetmap.josm.command.Command;
-import org.openstreetmap.josm.data.osm.Way;
+import java.util.List;
+
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 
 public class Lakewalker {
-    protected Collection<Command> commands = new LinkedList<Command>();
-    protected Collection<Way> ways = new ArrayList<Way>();
     protected boolean cancel;
 
-    private int waylen;
     private int maxnode;
     private int threshold;
-    private double epsilon;
     private int resolution;
     private int tilesize;
@@ -35,8 +28,6 @@
 
     public Lakewalker(int waylen, int maxnode, int threshold, double epsilon, int resolution, int tilesize, String startdir, String wmslayer, File workingdir){
-        this.waylen = waylen;
         this.maxnode = maxnode;
         this.threshold = threshold;
-        this.epsilon = epsilon;
         this.resolution = resolution;
         this.tilesize = tilesize;
@@ -383,6 +374,6 @@
         }
 
-        ArrayList<double[]> seg_a = new ArrayList<double[]>();
-        ArrayList<double[]> seg_b = new ArrayList<double[]>();
+        List<double[]> seg_a;
+        List<double[]> seg_b;
 
         if(farthest_dist > epsilon){
@@ -440,5 +431,5 @@
      * @author Jason Reid
      */
-    private class LakewalkerBBox {
+    private static class LakewalkerBBox {
 
         private double top = 90;
Index: applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerAction.java
===================================================================
--- applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerAction.java	(revision 19623)
+++ applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerAction.java	(revision 19624)
@@ -73,5 +73,5 @@
     private void cleanupCache() {
         final long maxCacheAge = System.currentTimeMillis()-Main.pref.getInteger(LakewalkerPreferences.PREF_MAXCACHEAGE, 100)*24*60*60*1000L;
-        final long maxCacheSize = Main.pref.getInteger(LakewalkerPreferences.PREF_MAXCACHESIZE, 300)*1024*1024;
+        final long maxCacheSize = Main.pref.getInteger(LakewalkerPreferences.PREF_MAXCACHESIZE, 300)*1024*1024L;
 
         for (String wmsFolder : LakewalkerPreferences.WMSLAYERS) {
@@ -177,5 +177,5 @@
                         progressMonitor.createSubTaskMonitor(1, false));
             } catch(LakewalkerException e){
-                System.out.println(e.getError());
+                System.out.println(e.getMessage());
             }
 
@@ -247,4 +247,5 @@
 
                 } catch (Exception ex) {
+                	ex.printStackTrace();
                 }
 
Index: applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerApp.java
===================================================================
--- applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerApp.java	(revision 19623)
+++ applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerApp.java	(revision 19624)
@@ -40,19 +40,18 @@
         try {
             nodelist = lw.trace(lat,lon,leftlon,rightlon,toplat,botlat, NullProgressMonitor.INSTANCE);
+
+            System.out.println(nodelist.size()+" nodes generated");
+
+            nodelist = lw.vertexReduce(nodelist, dp);
+
+            System.out.println("After vertex reduction, "+nodelist.size()+" nodes remain.");
+
+            nodelist = lw.douglasPeucker(nodelist, dp, 0);
+            System.out.println("After dp approximation, "+nodelist.size()+" nodes remain.");
+
         } catch(LakewalkerException e){
-            System.out.println(e.getError());
+            System.out.println(e.getMessage());
+            e.printStackTrace();
         }
-
-        System.out.println(nodelist.size()+" nodes generated");
-
-        nodelist = lw.vertexReduce(nodelist, dp);
-
-        System.out.println("After vertex reduction, "+nodelist.size()+" nodes remain.");
-
-        nodelist = lw.douglasPeucker(nodelist, dp, 0);
-
-        System.out.println("After dp approximation, "+nodelist.size()+" nodes remain.");
-
-
 
     }
Index: applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerException.java
===================================================================
--- applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerException.java	(revision 19623)
+++ applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerException.java	(revision 19624)
@@ -4,18 +4,10 @@
 
 class LakewalkerException extends Exception {
-    String error;
-
     public LakewalkerException(){
-        super();
-        this.error = tr("An unknown error has occurred");
+    	super(tr("An unknown error has occurred"));
     }
 
     public LakewalkerException(String err){
-        super();
-        this.error = err;
-    }
-
-    public String getError(){
-      return this.error;
+        super(err);
     }
 }
Index: applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerPlugin.java
===================================================================
--- applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerPlugin.java	(revision 19623)
+++ applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerPlugin.java	(revision 19624)
@@ -15,13 +15,14 @@
  */
 public class LakewalkerPlugin extends Plugin {
-  public LakewalkerPlugin(PluginInformation info) {
-	  super(info);
-    MainMenu.add(Main.main.menu.toolsMenu, new LakewalkerAction(tr("Lake Walker")));
-  }
+	public LakewalkerPlugin(PluginInformation info) {
+		super(info);
+		MainMenu.add(Main.main.menu.toolsMenu, new LakewalkerAction(tr("Lake Walker")));
+	}
 
-  public PreferenceSetting getPreferenceSetting()
-  {
-    return new LakewalkerPreferences();
-  }
+	@Override
+	public PreferenceSetting getPreferenceSetting()
+	{
+		return new LakewalkerPreferences();
+	}
 
 }
Index: applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerPreferences.java
===================================================================
--- applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerPreferences.java	(revision 19623)
+++ applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerPreferences.java	(revision 19624)
@@ -3,4 +3,6 @@
 import static org.openstreetmap.josm.tools.I18n.marktr;
 import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.GridBagConstraints;
 
 import javax.swing.Box;
@@ -9,5 +11,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.preferences.PreferenceDialog;
 import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
@@ -74,6 +75,6 @@
         landsatResConfig.setToolTipText(tr("Resolution of Landsat tiles, measured in pixels per degree. Default 4000."));
         landsatSizeConfig.setToolTipText(tr("Size of one landsat tile, measured in pixels. Default 2000."));
-        eastOffsetConfig.setToolTipText(tr("Offset all points in East direction (degrees). Default 0."));   
-        northOffsetConfig.setToolTipText(tr("Offset all points in North direction (degrees). Default 0."));   
+        eastOffsetConfig.setToolTipText(tr("Offset all points in East direction (degrees). Default 0."));
+        northOffsetConfig.setToolTipText(tr("Offset all points in North direction (degrees). Default 0."));
         startDirConfig.setToolTipText(tr("Direction to search for land. Default east."));
         lakeTypeConfig.setToolTipText(tr("Tag ways as water, coastline, land or nothing. Default is water."));
@@ -105,5 +106,5 @@
     public void buildPreferences(JPanel prefPanel) {
         GBC labelConstraints = GBC.std().insets(10,5,5,0);
-        GBC dataConstraints = GBC.eol().insets(0,5,0,0).fill(GBC.HORIZONTAL);
+        GBC dataConstraints = GBC.eol().insets(0,5,0,0).fill(GridBagConstraints.HORIZONTAL);
 
         prefPanel.add(maxSegsLabel, labelConstraints);
@@ -118,5 +119,5 @@
         prefPanel.add(landsatResConfig.getControls(), dataConstraints);
         prefPanel.add(landsatSizeLabel, labelConstraints);
-        prefPanel.add(landsatSizeConfig.getControls(), dataConstraints);    
+        prefPanel.add(landsatSizeConfig.getControls(), dataConstraints);
         prefPanel.add(eastOffsetLabel, labelConstraints);
         prefPanel.add(eastOffsetConfig.getControls(), dataConstraints);
@@ -124,5 +125,5 @@
         prefPanel.add(northOffsetConfig.getControls(), dataConstraints);
         prefPanel.add(startDirLabel, labelConstraints);
-        prefPanel.add(startDirConfig.getControls(), dataConstraints);    
+        prefPanel.add(startDirConfig.getControls(), dataConstraints);
         prefPanel.add(lakeTypeLabel, labelConstraints);
         prefPanel.add(lakeTypeConfig.getControls(), dataConstraints);
@@ -136,5 +137,5 @@
         prefPanel.add(sourceConfig.getControls(), dataConstraints);
 
-        prefPanel.add(Box.createVerticalGlue(), GBC.eol().fill(GBC.VERTICAL));
+        prefPanel.add(Box.createVerticalGlue(), GBC.eol().fill(GridBagConstraints.VERTICAL));
     }
 
Index: applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerReader.java
===================================================================
--- applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerReader.java	(revision 19623)
+++ 	(revision )
@@ -1,128 +1,0 @@
-/* LakewalkerReader.java
- *
- * Read and process data from a Lakwalker python module
- *
- */
-package org.openstreetmap.josm.plugins.lakewalker;
-
-import static org.openstreetmap.josm.tools.I18n.tr;
-
-import java.io.BufferedReader;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.LinkedList;
-
-import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.command.AddCommand;
-import org.openstreetmap.josm.command.Command;
-import org.openstreetmap.josm.command.SequenceCommand;
-import org.openstreetmap.josm.data.coor.LatLon;
-import org.openstreetmap.josm.data.osm.Node;
-import org.openstreetmap.josm.data.osm.Way;
-import org.openstreetmap.josm.gui.progress.ProgressMonitor;
-
-public class LakewalkerReader {
-    protected Collection<Command> commands = new LinkedList<Command>();
-    protected Collection<Way> ways = new ArrayList<Way>();
-    protected boolean cancel;
-
-    /*
-    * Read the data
-    */
-    public void read(BufferedReader input, ProgressMonitor progressMonitor) {
-        /*
-        * Lakewalker will output data it stdout. Each line has a code in
-        * character 1 indicating the type of data on the line:
-        *
-        * m text - Status message l name [size] - Access landsat image name. size
-        * is returned if it needs to be downloaded. e text - Error message s nnn -
-        * Start node data stream, nnn separate tracings to follow t nnn - Start
-        * tracing, nnn nodes to follow x [o] - End of Tracing. o indicates do not
-        * connect last node to first n lat lon [o] - Node. o indicates it is an
-        * open node (not connected to the previous node) z - End of data stream
-        */
-
-    	progressMonitor.beginTask(null);
-    	try {
-    		Way way = new Way();
-    		String line;
-    		progressMonitor.indeterminateSubTask(tr("Initializing"));
-    		double eastOffset = Main.pref.getDouble(LakewalkerPreferences.PREF_EAST_OFFSET, 0.0);
-    		double northOffset = Main.pref.getDouble(LakewalkerPreferences.PREF_NORTH_OFFSET, 0.0);
-    		char option = ' ';
-
-    		try {
-    			Node n = null;  // The current node being created
-    			Node tn = null; // The last node of the previous way
-    			Node fn = null; // Node to hold the first node in the trace
-
-    			while ((line = input.readLine()) != null) {
-    				if (cancel)
-    					return;
-    				System.out.println(line);
-    				option = line.charAt(0);
-    				switch (option) {
-    				case 'n':
-    					String[] tokens = line.split(" ");
-
-    					if(tn==null){
-    						try {
-    							LatLon ll = new LatLon(Double.parseDouble(tokens[1])+northOffset,
-    									Double.parseDouble(tokens[2])+eastOffset);
-    							n = new Node(ll);
-    							if(fn==null)
-    								fn = n;
-    							commands.add(new AddCommand(n));
-    						}
-    						catch (Exception ex) {}
-    					} else {
-    						// If there is a last node, and this node has the same coordinates
-    						// then we substitute for the previous node
-    						n = tn;
-    						tn = null;
-    					}
-    					way.addNode(n);
-    					break;
-    				case 's':
-    					progressMonitor.indeterminateSubTask(line.substring(2));
-    					break;
-    				case 'x':
-    					String waytype = Main.pref.get(LakewalkerPreferences.PREF_WAYTYPE, "water");
-
-    					if(!waytype.equals("none"))
-    						way.put("natural",waytype);
-    					way.put("source", Main.pref.get(LakewalkerPreferences.PREF_SOURCE, "Landsat"));
-    					commands.add(new AddCommand(way));
-    					break;
-    				case 't':
-    					way = new Way();
-    					tn = n;
-    					break;
-    				case 'e':
-    					cancel = true;
-    					break;
-    				}
-    			}
-    			input.close();
-
-    			// Add the start node to the end of the trace to form a closed shape
-    			way.addNode(fn);
-    		}
-    		catch (Exception ex) { }
-
-    		if (!commands.isEmpty()) {
-    			Main.main.undoRedo.add(new SequenceCommand(tr("Lakewalker trace"), commands));
-    			Main.main.getCurrentDataSet().setSelected(ways);
-    		}
-    	} finally {
-    		progressMonitor.finishTask();
-    	}
-    }
-
-    /*
-    * User has hit the cancel button
-    */
-    public void cancel() {
-        cancel = true;
-    }
-}
Index: applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerWMS.java
===================================================================
--- applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerWMS.java	(revision 19623)
+++ applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/LakewalkerWMS.java	(revision 19624)
@@ -13,5 +13,7 @@
 import java.text.NumberFormat;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Locale;
+import java.util.Map;
 import java.util.Vector;
 
@@ -27,7 +29,7 @@
 
     // Vector to cache images in memory
-    private Vector<BufferedImage> images = new Vector<BufferedImage>();
+    private List<BufferedImage> images = new Vector<BufferedImage>();
     // Hashmap to hold the mapping of cached images
-    private HashMap<String,Integer> imageindex = new HashMap<String,Integer>();
+    private Map<String,Integer> imageindex = new HashMap<String,Integer>();
 
     private int resolution;
@@ -179,6 +181,6 @@
             image = this.getTile(x,y, progressMonitor);
         } catch(LakewalkerException e){
-            System.out.println(e.getError());
-            throw new LakewalkerException(e.getMessage());
+            System.out.println(e.getMessage());
+            throw e;
         }
 
Index: applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/StringConfigurer.java
===================================================================
--- applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/StringConfigurer.java	(revision 19623)
+++ applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/StringConfigurer.java	(revision 19624)
@@ -14,5 +14,5 @@
  *
  * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, copies are available 
+ * License along with this library; if not, copies are available
  * at http://www.opensource.org.
  */
@@ -34,5 +34,5 @@
     this(null, "");
   }
-  
+
   public StringConfigurer(String key, String name) {
     this(key, name, "");
@@ -43,9 +43,11 @@
   }
 
-  public String getValueString() {
+  @Override
+public String getValueString() {
     return (String) value;
   }
 
-  public void setValue(String s) {
+  @Override
+public void setValue(String s) {
     if (!noUpdate && nameField != null) {
       nameField.setText(s);
@@ -57,6 +59,7 @@
     nameField.setToolTipText(s);
   }
-  
-  public java.awt.Component getControls() {
+
+  @Override
+public java.awt.Component getControls() {
     if (p == null) {
       p = new JPanel();
@@ -69,5 +72,6 @@
       p.add(nameField);
       nameField.addKeyListener(new java.awt.event.KeyAdapter() {
-        public void keyReleased(java.awt.event.KeyEvent evt) {
+        @Override
+		public void keyReleased(java.awt.event.KeyEvent evt) {
           noUpdate = true;
           setValue(nameField.getText());
Index: applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/StringEnumConfigurer.java
===================================================================
--- applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/StringEnumConfigurer.java	(revision 19623)
+++ applications/editors/josm/plugins/lakewalker/src/org/openstreetmap/josm/plugins/lakewalker/StringEnumConfigurer.java	(revision 19624)
@@ -33,6 +33,6 @@
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+
 import javax.swing.Box;
-import javax.swing.DefaultComboBoxModel;
 import javax.swing.JComboBox;
 import javax.swing.JLabel;
@@ -63,5 +63,6 @@
         tooltipText = s;
     }
-    public Component getControls() {
+    @Override
+	public Component getControls() {
         if (panel == null) {
             panel = Box.createHorizontalBox();
@@ -82,7 +83,9 @@
         return panel;
     }
-    public void setValue(Object o) {
+
+    @Override
+	public void setValue(Object o) {
         if(o == null)
-            o = new Integer(0);
+            o = 0;
         super.setValue(o);
         if(!noUpdate && box != null)
@@ -90,5 +93,6 @@
     }
 
-    public void setValue(String s) {
+    @Override
+	public void setValue(String s) {
         Integer n = 0;
         for (int i = 0; i < transValues.length; ++i)
@@ -102,5 +106,6 @@
     }
 
-    public String getValueString() {
+    @Override
+	public String getValueString() {
         return validValues[(Integer)value];
     }
