Index: applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxLayer.java
===================================================================
--- applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxLayer.java	(revision 22548)
+++ applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxLayer.java	(revision 23189)
@@ -35,133 +35,133 @@
 public class EditGpxLayer extends Layer {
 
-	private static Icon icon = new ImageIcon(Toolkit.getDefaultToolkit().createImage(EditGpxPlugin.class.getResource("/images/editgpx_layer.png")));
-	public final EditGpxData data;
-	private GPXLayerImportAction layerImport;
+    private static Icon icon = new ImageIcon(Toolkit.getDefaultToolkit().createImage(EditGpxPlugin.class.getResource("/images/editgpx_layer.png")));
+    public final EditGpxData data;
+    private GPXLayerImportAction layerImport;
 
-	public EditGpxLayer(String str, EditGpxData gpxData) {
-		super(str);
-		data = gpxData;
-		layerImport = new GPXLayerImportAction(data);
-	}
+    public EditGpxLayer(String str, EditGpxData gpxData) {
+        super(str);
+        data = gpxData;
+        layerImport = new GPXLayerImportAction(data);
+    }
 
-	/**
-	 * check if dataSet is empty
-	 * if so show import dialog to user
-	 */
-	public void initializeImport() {
-		try {
-			if(data.isEmpty()) {
-				layerImport.activateImport();
-			}
-		} catch (Exception e) {
-			System.out.println(e.getMessage());
-			e.printStackTrace();
-		}
-	}
+    /**
+     * check if dataSet is empty
+     * if so show import dialog to user
+     */
+    public void initializeImport() {
+        try {
+            if(data.isEmpty()) {
+                layerImport.activateImport();
+            }
+        } catch (Exception e) {
+            System.out.println(e.getMessage());
+            e.printStackTrace();
+        }
+    }
 
-	@Override
-	public Icon getIcon() {
-		return icon;
-	}
+    @Override
+    public Icon getIcon() {
+        return icon;
+    }
 
-	@Override
-	public Object getInfoComponent() {
-		return getToolTipText();
-	}
+    @Override
+    public Object getInfoComponent() {
+        return getToolTipText();
+    }
 
-	@Override
-	public Action[] getMenuEntries() {
-		return new Action[] {
-				LayerListDialog.getInstance().createShowHideLayerAction(),
-				LayerListDialog.getInstance().createDeleteLayerAction(),
-				SeparatorLayerAction.INSTANCE,
-				layerImport,
-				new ConvertToGpxLayerAction(),
-				new ConvertToAnonTimeGpxLayerAction(),
-				SeparatorLayerAction.INSTANCE,
-				new LayerListPopup.InfoAction(this)};
-	}
+    @Override
+    public Action[] getMenuEntries() {
+        return new Action[] {
+                LayerListDialog.getInstance().createShowHideLayerAction(),
+                LayerListDialog.getInstance().createDeleteLayerAction(),
+                SeparatorLayerAction.INSTANCE,
+                layerImport,
+                new ConvertToGpxLayerAction(),
+                new ConvertToAnonTimeGpxLayerAction(),
+                SeparatorLayerAction.INSTANCE,
+                new LayerListPopup.InfoAction(this)};
+    }
 
-	@Override
-	public String getToolTipText() {
-		return tr("Layer for editing GPX tracks");
-	}
+    @Override
+    public String getToolTipText() {
+        return tr("Layer for editing GPX tracks");
+    }
 
-	@Override
-	public boolean isMergable(Layer other) {
-		// TODO
-		return false;
-	}
+    @Override
+    public boolean isMergable(Layer other) {
+        // TODO
+        return false;
+    }
 
-	@Override
-	public void mergeFrom(Layer from) {
-		// TODO
-	}
+    @Override
+    public void mergeFrom(Layer from) {
+        // TODO
+    }
 
-	@Override
-	public void paint(Graphics2D g, MapView mv, Bounds bounds) {
-		g.setColor(Color.yellow);
+    @Override
+    public void paint(Graphics2D g, MapView mv, Bounds bounds) {
+        g.setColor(Color.yellow);
 
-		//don't iterate through dataSet whiling making changes
-		synchronized(layerImport.importing) {
-			for (EditGpxTrack track: data.getTracks()) {
-				for (EditGpxTrackSegment segment: track.getSegments()) {
-					for (EditGpxWayPoint wayPoint: segment.getWayPoints()) {
-						if (!wayPoint.isDeleted()) {
-							Point pnt = Main.map.mapView.getPoint(wayPoint.getCoor().getEastNorth());
-							g.drawOval(pnt.x - 2, pnt.y - 2, 4, 4);
-						}
-					}
-				}
-			}
-		}
-	}
+        //don't iterate through dataSet whiling making changes
+        synchronized(layerImport.importing) {
+            for (EditGpxTrack track: data.getTracks()) {
+                for (EditGpxTrackSegment segment: track.getSegments()) {
+                    for (EditGpxWayPoint wayPoint: segment.getWayPoints()) {
+                        if (!wayPoint.isDeleted()) {
+                            Point pnt = Main.map.mapView.getPoint(wayPoint.getCoor().getEastNorth());
+                            g.drawOval(pnt.x - 2, pnt.y - 2, 4, 4);
+                        }
+                    }
+                }
+            }
+        }
+    }
 
 
-	public void reset(){
-		//TODO implement a reset
-	}
+    public void reset(){
+        //TODO implement a reset
+    }
 
 
-	@Override
-	public void visitBoundingBox(BoundingXYVisitor v) {
-		// TODO Auto-generated method stub
-	}
+    @Override
+    public void visitBoundingBox(BoundingXYVisitor v) {
+        // TODO Auto-generated method stub
+    }
 
 
-	/**
-	 * convert a DataSet to GPX
-	 *
-	 * @param boolean anonTime If true set all time and date in GPX to 01/01/1970 00:00 ?
-	 * @return GPXData
-	 */
-	private GpxData toGpxData(boolean anonTime) {
-		return data.createGpxData();
-	}
+    /**
+     * convert a DataSet to GPX
+     *
+     * @param boolean anonTime If true set all time and date in GPX to 01/01/1970 00:00 ?
+     * @return GPXData
+     */
+    private GpxData toGpxData(boolean anonTime) {
+        return data.createGpxData();
+    }
 
-	//context item "Convert to GPX layer"
-	public class ConvertToGpxLayerAction extends AbstractAction {
-		public ConvertToGpxLayerAction() {
-			super(tr("Convert to GPX layer"), ImageProvider.get("converttogpx"));
-		}
-		public void actionPerformed(ActionEvent e) {
-			Main.main.addLayer(new GpxLayer(toGpxData(false), tr("Converted from: {0}", getName())));
-			Main.main.removeLayer(EditGpxLayer.this);
-			if(Main.map.mapMode instanceof EditGpxMode)
-				Main.map.selectSelectTool(false);
-		}
-	}
+    //context item "Convert to GPX layer"
+    public class ConvertToGpxLayerAction extends AbstractAction {
+        public ConvertToGpxLayerAction() {
+            super(tr("Convert to GPX layer"), ImageProvider.get("converttogpx"));
+        }
+        public void actionPerformed(ActionEvent e) {
+            Main.main.addLayer(new GpxLayer(toGpxData(false), tr("Converted from: {0}", getName())));
+            Main.main.removeLayer(EditGpxLayer.this);
+            if(Main.map.mapMode instanceof EditGpxMode)
+                Main.map.selectSelectTool(false);
+        }
+    }
 
-	//context item "Convert to GPX layer with anonymised time"
-	public class ConvertToAnonTimeGpxLayerAction extends AbstractAction {
-		public ConvertToAnonTimeGpxLayerAction() {
-			super(tr("Convert to GPX layer with anonymised time"), ImageProvider.get("converttogpx"));
-		}
-		public void actionPerformed(ActionEvent e) {
-			Main.main.addLayer(new GpxLayer(toGpxData(true), tr("Converted from: {0}", getName())));
-			Main.main.removeLayer(EditGpxLayer.this);
-			if(Main.map.mapMode instanceof EditGpxMode)
-				Main.map.selectSelectTool(false);
-		}
-	}
+    //context item "Convert to GPX layer with anonymised time"
+    public class ConvertToAnonTimeGpxLayerAction extends AbstractAction {
+        public ConvertToAnonTimeGpxLayerAction() {
+            super(tr("Convert to GPX layer with anonymised time"), ImageProvider.get("converttogpx"));
+        }
+        public void actionPerformed(ActionEvent e) {
+            Main.main.addLayer(new GpxLayer(toGpxData(true), tr("Converted from: {0}", getName())));
+            Main.main.removeLayer(EditGpxLayer.this);
+            if(Main.map.mapMode instanceof EditGpxMode)
+                Main.map.selectSelectTool(false);
+        }
+    }
 }
Index: applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxMode.java
===================================================================
--- applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxMode.java	(revision 22548)
+++ applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxMode.java	(revision 23189)
@@ -29,152 +29,152 @@
 public class EditGpxMode extends MapMode implements LayerChangeListener {
 
-	private static final long serialVersionUID = 7940589057093872411L;
-	Point pointPressed;
-	MapFrame mapFrame;
-	Rectangle oldRect;
-	MapFrame frame;
-	EditGpxLayer currentEditLayer;
+    private static final long serialVersionUID = 7940589057093872411L;
+    Point pointPressed;
+    MapFrame mapFrame;
+    Rectangle oldRect;
+    MapFrame frame;
+    EditGpxLayer currentEditLayer;
 
-	public EditGpxMode(MapFrame mapFrame, String name, String desc) {
-		super(name, "editgpx_mode.png", desc, mapFrame, Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
-	}
+    public EditGpxMode(MapFrame mapFrame, String name, String desc) {
+        super(name, "editgpx_mode.png", desc, mapFrame, Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
+    }
 
-	@Override public void enterMode() {
-		super.enterMode();
-		Main.map.mapView.addMouseListener(this);
-		Main.map.mapView.addMouseMotionListener(this);
-		MapView.addLayerChangeListener(this);
-		updateLayer();
-	}
+    @Override public void enterMode() {
+        super.enterMode();
+        Main.map.mapView.addMouseListener(this);
+        Main.map.mapView.addMouseMotionListener(this);
+        MapView.addLayerChangeListener(this);
+        updateLayer();
+    }
 
-	@Override public void exitMode() {
-		super.exitMode();
-		Main.map.mapView.removeMouseListener(this);
-		Main.map.mapView.removeMouseMotionListener(this);
-	}
+    @Override public void exitMode() {
+        super.exitMode();
+        Main.map.mapView.removeMouseListener(this);
+        Main.map.mapView.removeMouseMotionListener(this);
+    }
 
 
-	@Override public void mousePressed(MouseEvent e) {
-		pointPressed = new Point(e.getPoint());
-	}
+    @Override public void mousePressed(MouseEvent e) {
+        pointPressed = new Point(e.getPoint());
+    }
 
 
-	@Override public void mouseDragged(MouseEvent e) {
-		if ( (e.getModifiersEx() & InputEvent.BUTTON1_DOWN_MASK) ==  InputEvent.BUTTON1_DOWN_MASK) {
-			//if button1 is hold, draw the rectangle.
-			paintRect(pointPressed, e.getPoint());
-		}
-	}
+    @Override public void mouseDragged(MouseEvent e) {
+        if ( (e.getModifiersEx() & InputEvent.BUTTON1_DOWN_MASK) ==  InputEvent.BUTTON1_DOWN_MASK) {
+            //if button1 is hold, draw the rectangle.
+            paintRect(pointPressed, e.getPoint());
+        }
+    }
 
-	@Override public void mouseReleased(MouseEvent e) {
-		if (e.getButton() != MouseEvent.BUTTON1) {
-			return;
-		}
+    @Override public void mouseReleased(MouseEvent e) {
+        if (e.getButton() != MouseEvent.BUTTON1) {
+            return;
+        }
 
-		Point pointReleased = e.getPoint();
+        Point pointReleased = e.getPoint();
 
-		Rectangle r = createRect(pointReleased, pointPressed);
+        Rectangle r = createRect(pointReleased, pointPressed);
 
-		//go through nodes and mark the ones in the selection rect as deleted
-		if (currentEditLayer != null) {
-			for (EditGpxTrack track: currentEditLayer.data.getTracks()) {
-				for (EditGpxTrackSegment segment: track.getSegments()) {
-					for (EditGpxWayPoint wayPoint: segment.getWayPoints()) {
-						Point p = Main.map.mapView.getPoint(wayPoint.getCoor().getEastNorth());
-						if (r.contains(p)) {
-							wayPoint.setDeleted(true);
-						}
-					}
-				}
-			}
-		}
-		oldRect = null;
-		Main.map.mapView.repaint();
+        //go through nodes and mark the ones in the selection rect as deleted
+        if (currentEditLayer != null) {
+            for (EditGpxTrack track: currentEditLayer.data.getTracks()) {
+                for (EditGpxTrackSegment segment: track.getSegments()) {
+                    for (EditGpxWayPoint wayPoint: segment.getWayPoints()) {
+                        Point p = Main.map.mapView.getPoint(wayPoint.getCoor().getEastNorth());
+                        if (r.contains(p)) {
+                            wayPoint.setDeleted(true);
+                        }
+                    }
+                }
+            }
+        }
+        oldRect = null;
+        Main.map.mapView.repaint();
 
-	}
+    }
 
-	/**
-	 * create rectangle out of two given corners
-	 */
-	public Rectangle createRect(Point p1, Point p2) {
-		int x,y,w,h;
-		if (p1.x == p2.x && p1.y == p2.y) {
-			//if p1 and p2 same points draw a small rectangle around them
-			x = p1.x -1;
-			y = p1.y -1;
-			w = 3;
-			h = 3;
-		} else {
-			if (p1.x < p2.x){
-				x = p1.x;
-				w = p2.x-p1.x;
-			} else {
-				x = p2.x;
-				w = p1.x-p2.x;
-			}
-			if (p1.y < p2.y) {
-				y = p1.y;
-				h = p2.y-p1.y;
-			} else {
-				y = p2.y;
-				h = p1.y-p2.y;
-			}
-		}
-		return new Rectangle(x,y,w,h);
-	}
+    /**
+     * create rectangle out of two given corners
+     */
+    public Rectangle createRect(Point p1, Point p2) {
+        int x,y,w,h;
+        if (p1.x == p2.x && p1.y == p2.y) {
+            //if p1 and p2 same points draw a small rectangle around them
+            x = p1.x -1;
+            y = p1.y -1;
+            w = 3;
+            h = 3;
+        } else {
+            if (p1.x < p2.x){
+                x = p1.x;
+                w = p2.x-p1.x;
+            } else {
+                x = p2.x;
+                w = p1.x-p2.x;
+            }
+            if (p1.y < p2.y) {
+                y = p1.y;
+                h = p2.y-p1.y;
+            } else {
+                y = p2.y;
+                h = p1.y-p2.y;
+            }
+        }
+        return new Rectangle(x,y,w,h);
+    }
 
-	/**
-	 * Draw a selection rectangle on screen.
-	 */
-	private void paintRect(Point p1, Point p2) {
-		Graphics g = frame.getGraphics();//Main.map.mapView.getGraphics();
+    /**
+     * Draw a selection rectangle on screen.
+     */
+    private void paintRect(Point p1, Point p2) {
+        Graphics g = frame.getGraphics();//Main.map.mapView.getGraphics();
 
-		Rectangle r = oldRect;
-		if (r != null) {
-			//overwrite old rct
-			g.setXORMode(Color.BLACK);
-			g.setColor(Color.WHITE);
-			g.drawRect(r.x,r.y,r.width,r.height);
-		}
+        Rectangle r = oldRect;
+        if (r != null) {
+            //overwrite old rct
+            g.setXORMode(Color.BLACK);
+            g.setColor(Color.WHITE);
+            g.drawRect(r.x,r.y,r.width,r.height);
+        }
 
-		g.setXORMode(Color.BLACK);
-		g.setColor(Color.WHITE);
-		r = createRect(p1,p2);
-		g.drawRect(r.x,r.y,r.width,r.height);
-		oldRect = r;
-	}
+        g.setXORMode(Color.BLACK);
+        g.setColor(Color.WHITE);
+        r = createRect(p1,p2);
+        g.drawRect(r.x,r.y,r.width,r.height);
+        oldRect = r;
+    }
 
 
-	public void setFrame(MapFrame mapFrame) {
-		frame = mapFrame;
-	}
+    public void setFrame(MapFrame mapFrame) {
+        frame = mapFrame;
+    }
 
-	/**
-	 * create new layer, add listeners and try importing gpx data.
-	 */
-	private void updateLayer() {
+    /**
+     * create new layer, add listeners and try importing gpx data.
+     */
+    private void updateLayer() {
 
-		List<EditGpxLayer> layers = Main.map.mapView.getLayersOfType(EditGpxLayer.class);
-		currentEditLayer = layers.isEmpty()?null:layers.get(0);
+        List<EditGpxLayer> layers = Main.map.mapView.getLayersOfType(EditGpxLayer.class);
+        currentEditLayer = layers.isEmpty()?null:layers.get(0);
 
-		if(currentEditLayer == null) {
-			currentEditLayer = new EditGpxLayer(tr("EditGpx"), new EditGpxData());
-			Main.main.addLayer(currentEditLayer);
-			currentEditLayer.initializeImport();
-		}
-		Main.map.mapView.repaint();
-	}
+        if(currentEditLayer == null) {
+            currentEditLayer = new EditGpxLayer(tr("EditGpx"), new EditGpxData());
+            Main.main.addLayer(currentEditLayer);
+            currentEditLayer.initializeImport();
+        }
+        Main.map.mapView.repaint();
+    }
 
-	public void activeLayerChange(Layer oldLayer, Layer newLayer) { }
+    public void activeLayerChange(Layer oldLayer, Layer newLayer) { }
 
-	public void layerAdded(Layer newLayer) { }
+    public void layerAdded(Layer newLayer) { }
 
-	public void layerRemoved(Layer oldLayer) {
-		if (oldLayer instanceof EditGpxLayer) {
-			currentEditLayer = null;
-			if(Main.map.mapMode instanceof EditGpxMode)
-				Main.map.selectSelectTool(false);
-		}
-	}
+    public void layerRemoved(Layer oldLayer) {
+        if (oldLayer instanceof EditGpxLayer) {
+            currentEditLayer = null;
+            if(Main.map.mapMode instanceof EditGpxMode)
+                Main.map.selectSelectTool(false);
+        }
+    }
 
 }
Index: applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxPlugin.java
===================================================================
--- applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxPlugin.java	(revision 22548)
+++ applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxPlugin.java	(revision 23189)
@@ -31,31 +31,31 @@
 public class EditGpxPlugin extends Plugin {
 
-	private IconToggleButton btn;
-	private EditGpxMode mode;
+    private IconToggleButton btn;
+    private EditGpxMode mode;
 
-	public EditGpxPlugin(PluginInformation info) {
-		super(info);
-		mode = new EditGpxMode(Main.map, "editgpx", tr("edit gpx tracks"));
+    public EditGpxPlugin(PluginInformation info) {
+        super(info);
+        mode = new EditGpxMode(Main.map, "editgpx", tr("edit gpx tracks"));
 
-		btn = new IconToggleButton(mode);
-		btn.setVisible(true);
-	}
+        btn = new IconToggleButton(mode);
+        btn.setVisible(true);
+    }
 
-	/**
-	 * initialize button. if button is pressed create new layer.
-	 */
-	@Override
-	public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
-		if(oldFrame == null && newFrame != null) {
-			mode.setFrame(newFrame);
+    /**
+     * initialize button. if button is pressed create new layer.
+     */
+    @Override
+    public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
+        if(oldFrame == null && newFrame != null) {
+            mode.setFrame(newFrame);
 
-			if(Main.map != null)
-				Main.map.addMapMode(btn);
-		}
-	}
+            if(Main.map != null)
+                Main.map.addMapMode(btn);
+        }
+    }
 
-	public static ImageIcon loadIcon(String name) {
-		URL url = EditGpxPlugin.class.getResource("/images/editgpx.png");
-		return new ImageIcon(url);
-	}
+    public static ImageIcon loadIcon(String name) {
+        URL url = EditGpxPlugin.class.getResource("/images/editgpx.png");
+        return new ImageIcon(url);
+    }
 }
Index: applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/GPXLayerImportAction.java
===================================================================
--- applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/GPXLayerImportAction.java	(revision 22548)
+++ applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/GPXLayerImportAction.java	(revision 23189)
@@ -38,88 +38,88 @@
 
 
-	private static final long serialVersionUID = 5794897888911798168L;
-	private EditGpxData data;
-	public Object importing = new Object(); //used for synchronization
+    private static final long serialVersionUID = 5794897888911798168L;
+    private EditGpxData data;
+    public Object importing = new Object(); //used for synchronization
 
-	public GPXLayerImportAction(EditGpxData data) {
-		//TODO what is icon at the end?
-		super(tr("Import path from GPX layer"), ImageProvider.get("dialogs", "edit"));
-		this.data = data;
-	}
+    public GPXLayerImportAction(EditGpxData data) {
+        //TODO what is icon at the end?
+        super(tr("Import path from GPX layer"), ImageProvider.get("dialogs", "edit"));
+        this.data = data;
+    }
 
-	/**
-	 * shows a list of GPX layers. if user selects one the data from this layer is
-	 * imported.
-	 */
-	public void activateImport() {
-		Box panel = Box.createVerticalBox();
-		DefaultListModel dModel= new DefaultListModel();
+    /**
+     * shows a list of GPX layers. if user selects one the data from this layer is
+     * imported.
+     */
+    public void activateImport() {
+        Box panel = Box.createVerticalBox();
+        DefaultListModel dModel= new DefaultListModel();
 
-		final JList layerList = new JList(dModel);
-		Collection<Layer> data = Main.map.mapView.getAllLayers();
-		Layer lastLayer = null;
-		int layerCnt = 0;
+        final JList layerList = new JList(dModel);
+        Collection<Layer> data = Main.map.mapView.getAllLayers();
+        Layer lastLayer = null;
+        int layerCnt = 0;
 
-		for (Layer l : data){
-			if(l instanceof GpxLayer){
-				dModel.addElement(l);
-				lastLayer = l;
-				layerCnt++;
-			}
-		}
-		if(layerCnt == 1){
-			layerList.setSelectedValue(lastLayer, true);
-		}
-		if(layerCnt > 0){
-			layerList.setCellRenderer(new DefaultListCellRenderer(){
-				@Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
-					Layer layer = (Layer)value;
-					JLabel label = (JLabel)super.getListCellRendererComponent(list,
-							layer.getName(), index, isSelected, cellHasFocus);
-					Icon icon = layer.getIcon();
-					label.setIcon(icon);
-					label.setToolTipText(layer.getToolTipText());
-					return label;
-				}
-			});
+        for (Layer l : data){
+            if(l instanceof GpxLayer){
+                dModel.addElement(l);
+                lastLayer = l;
+                layerCnt++;
+            }
+        }
+        if(layerCnt == 1){
+            layerList.setSelectedValue(lastLayer, true);
+        }
+        if(layerCnt > 0){
+            layerList.setCellRenderer(new DefaultListCellRenderer(){
+                @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+                    Layer layer = (Layer)value;
+                    JLabel label = (JLabel)super.getListCellRendererComponent(list,
+                            layer.getName(), index, isSelected, cellHasFocus);
+                    Icon icon = layer.getIcon();
+                    label.setIcon(icon);
+                    label.setToolTipText(layer.getToolTipText());
+                    return label;
+                }
+            });
 
-			JCheckBox dropFirst = new JCheckBox(tr("Drop existing path"));
+            JCheckBox dropFirst = new JCheckBox(tr("Drop existing path"));
 
-			panel.add(layerList);
-			panel.add(dropFirst);
+            panel.add(layerList);
+            panel.add(dropFirst);
 
-			final JOptionPane optionPane = new JOptionPane(panel, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION){
-				@Override public void selectInitialValue() {
-					layerList.requestFocusInWindow();
-				}
-			};
-			final JDialog dlg = optionPane.createDialog(Main.parent, tr("Import path from GPX layer"));
-			dlg.setVisible(true);
+            final JOptionPane optionPane = new JOptionPane(panel, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION){
+                @Override public void selectInitialValue() {
+                    layerList.requestFocusInWindow();
+                }
+            };
+            final JDialog dlg = optionPane.createDialog(Main.parent, tr("Import path from GPX layer"));
+            dlg.setVisible(true);
 
-			Object answer = optionPane.getValue();
-			if (answer == null || answer == JOptionPane.UNINITIALIZED_VALUE ||
-					(answer instanceof Integer && (Integer)answer != JOptionPane.OK_OPTION)) {
-				return;
-			}
+            Object answer = optionPane.getValue();
+            if (answer == null || answer == JOptionPane.UNINITIALIZED_VALUE ||
+                    (answer instanceof Integer && (Integer)answer != JOptionPane.OK_OPTION)) {
+                return;
+            }
 
-			GpxLayer gpx = (GpxLayer)layerList.getSelectedValue();
+            GpxLayer gpx = (GpxLayer)layerList.getSelectedValue();
 
-			synchronized(importing) {
-				this.data.load(gpx.data, dropFirst.isSelected());
-			}
-			Main.map.mapView.repaint();
+            synchronized(importing) {
+                this.data.load(gpx.data, dropFirst.isSelected());
+            }
+            Main.map.mapView.repaint();
 
-		} else {
-			// no gps layer
-			JOptionPane.showMessageDialog(Main.parent,tr("No GPX data layer found."));
-		}
-	}
+        } else {
+            // no gps layer
+            JOptionPane.showMessageDialog(Main.parent,tr("No GPX data layer found."));
+        }
+    }
 
-	/**
-	 * called when pressing "Import.." from context menu of EditGpx layer
-	 *
-	 */
-	public void actionPerformed(ActionEvent arg0) {
-		activateImport();
-	}
+    /**
+     * called when pressing "Import.." from context menu of EditGpx layer
+     *
+     */
+    public void actionPerformed(ActionEvent arg0) {
+        activateImport();
+    }
 }
Index: applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/data/EditGpxData.java
===================================================================
--- applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/data/EditGpxData.java	(revision 22548)
+++ applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/data/EditGpxData.java	(revision 23189)
@@ -11,52 +11,52 @@
 public class EditGpxData {
 
-	private final List<EditGpxTrack> tracks = new ArrayList<EditGpxTrack>();
-	// Only copy of routes and waypoints to preserve all info when converting back to gpx track
-	private final List<GpxRoute> routes = new ArrayList<GpxRoute>();
-	private final List<WayPoint> waypoints = new ArrayList<WayPoint>();
+    private final List<EditGpxTrack> tracks = new ArrayList<EditGpxTrack>();
+    // Only copy of routes and waypoints to preserve all info when converting back to gpx track
+    private final List<GpxRoute> routes = new ArrayList<GpxRoute>();
+    private final List<WayPoint> waypoints = new ArrayList<WayPoint>();
 
-	public void load(GpxData data, boolean drop) {
-		if(drop)
-			tracks.clear();
-		for (GpxTrack track: data.tracks) {
-			tracks.add(new EditGpxTrack(track));
-		}
-		routes.clear();
-		routes.addAll(data.routes);
-		waypoints.clear();
-		waypoints.addAll(data.waypoints);
-	}
+    public void load(GpxData data, boolean drop) {
+        if(drop)
+            tracks.clear();
+        for (GpxTrack track: data.tracks) {
+            tracks.add(new EditGpxTrack(track));
+        }
+        routes.clear();
+        routes.addAll(data.routes);
+        waypoints.clear();
+        waypoints.addAll(data.waypoints);
+    }
 
-	public boolean isEmpty() {
-		for (EditGpxTrack track: tracks) {
-			for (EditGpxTrackSegment segment: track.getSegments()) {
-				if (!segment.getWayPoints().isEmpty()) {
-					return false;
-				}
-			}
-		}
-		return true;
-	}
+    public boolean isEmpty() {
+        for (EditGpxTrack track: tracks) {
+            for (EditGpxTrackSegment segment: track.getSegments()) {
+                if (!segment.getWayPoints().isEmpty()) {
+                    return false;
+                }
+            }
+        }
+        return true;
+    }
 
-	public List<EditGpxTrack> getTracks() {
-		return tracks;
-	}
+    public List<EditGpxTrack> getTracks() {
+        return tracks;
+    }
 
-	public GpxData createGpxData() {
-		GpxData result = new GpxData();
+    public GpxData createGpxData() {
+        GpxData result = new GpxData();
 
-		for (EditGpxTrack track: tracks) {
-			if (!track.isDeleted()) {
-				GpxTrack newTrack = track.createGpxTrack();
-				if (!newTrack.getSegments().isEmpty()) {
-					result.tracks.add(newTrack);
-				}
-			}
-		}
+        for (EditGpxTrack track: tracks) {
+            if (!track.isDeleted()) {
+                GpxTrack newTrack = track.createGpxTrack();
+                if (!newTrack.getSegments().isEmpty()) {
+                    result.tracks.add(newTrack);
+                }
+            }
+        }
 
-		result.routes.addAll(routes);
-		result.waypoints.addAll(waypoints);
-		return result;
-	}
+        result.routes.addAll(routes);
+        result.waypoints.addAll(waypoints);
+        return result;
+    }
 
 }
Index: applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/data/EditGpxTrack.java
===================================================================
--- applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/data/EditGpxTrack.java	(revision 22548)
+++ applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/data/EditGpxTrack.java	(revision 23189)
@@ -14,44 +14,44 @@
 public class EditGpxTrack {
 
-	private final List<EditGpxTrackSegment> segments = new ArrayList<EditGpxTrackSegment>();
-	private final Map<String, Object> attributes = new HashMap<String, Object>();
-	private boolean isDeleted;
+    private final List<EditGpxTrackSegment> segments = new ArrayList<EditGpxTrackSegment>();
+    private final Map<String, Object> attributes = new HashMap<String, Object>();
+    private boolean isDeleted;
 
-	public EditGpxTrack(GpxTrack track) {
-		attributes.putAll(track.getAttributes());
-		for (GpxTrackSegment segment: track.getSegments()) {
-			segments.add(new EditGpxTrackSegment(segment));
-		}
-	}
+    public EditGpxTrack(GpxTrack track) {
+        attributes.putAll(track.getAttributes());
+        for (GpxTrackSegment segment: track.getSegments()) {
+            segments.add(new EditGpxTrackSegment(segment));
+        }
+    }
 
-	public List<EditGpxTrackSegment> getSegments() {
-		return segments;
-	}
-	public Map<String, Object> getAttributes() {
-		return attributes;
-	}
+    public List<EditGpxTrackSegment> getSegments() {
+        return segments;
+    }
+    public Map<String, Object> getAttributes() {
+        return attributes;
+    }
 
-	public GpxTrack createGpxTrack() {
+    public GpxTrack createGpxTrack() {
 
-		Collection<Collection<WayPoint>> wayPoints = new ArrayList<Collection<WayPoint>>();
+        Collection<Collection<WayPoint>> wayPoints = new ArrayList<Collection<WayPoint>>();
 
-		for (EditGpxTrackSegment segment: segments) {
-			if (!segment.isDeleted()) {
-				List<WayPoint> points = segment.getNonDeletedWaypoints();
-				if (!points.isEmpty()) {
-					wayPoints.add(points);
-				}
-			}
-		}
+        for (EditGpxTrackSegment segment: segments) {
+            if (!segment.isDeleted()) {
+                List<WayPoint> points = segment.getNonDeletedWaypoints();
+                if (!points.isEmpty()) {
+                    wayPoints.add(points);
+                }
+            }
+        }
 
-		return new ImmutableGpxTrack(wayPoints, attributes);
-	}
+        return new ImmutableGpxTrack(wayPoints, attributes);
+    }
 
-	public void setDeleted(boolean isDeleted) {
-		this.isDeleted = isDeleted;
-	}
+    public void setDeleted(boolean isDeleted) {
+        this.isDeleted = isDeleted;
+    }
 
-	public boolean isDeleted() {
-		return isDeleted;
-	}
+    public boolean isDeleted() {
+        return isDeleted;
+    }
 }
Index: applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/data/EditGpxTrackSegment.java
===================================================================
--- applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/data/EditGpxTrackSegment.java	(revision 22548)
+++ applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/data/EditGpxTrackSegment.java	(revision 23189)
@@ -9,36 +9,36 @@
 public class EditGpxTrackSegment {
 
-	private final List<EditGpxWayPoint> wayPoints = new ArrayList<EditGpxWayPoint>();
-	private boolean deleted;
+    private final List<EditGpxWayPoint> wayPoints = new ArrayList<EditGpxWayPoint>();
+    private boolean deleted;
 
-	public EditGpxTrackSegment(GpxTrackSegment segment) {
-		for (WayPoint wayPoint: segment.getWayPoints()) {
-			wayPoints.add(new EditGpxWayPoint(wayPoint));
-		}
-	}
+    public EditGpxTrackSegment(GpxTrackSegment segment) {
+        for (WayPoint wayPoint: segment.getWayPoints()) {
+            wayPoints.add(new EditGpxWayPoint(wayPoint));
+        }
+    }
 
-	public List<EditGpxWayPoint> getWayPoints() {
-		return wayPoints;
-	}
+    public List<EditGpxWayPoint> getWayPoints() {
+        return wayPoints;
+    }
 
-	public List<WayPoint> getNonDeletedWaypoints() {
-		List<WayPoint> result = new ArrayList<WayPoint>();
+    public List<WayPoint> getNonDeletedWaypoints() {
+        List<WayPoint> result = new ArrayList<WayPoint>();
 
-		for (EditGpxWayPoint wp: wayPoints) {
-			if (!wp.isDeleted()) {
-				result.add(wp.createWayPoint());
-			}
-		}
+        for (EditGpxWayPoint wp: wayPoints) {
+            if (!wp.isDeleted()) {
+                result.add(wp.createWayPoint());
+            }
+        }
 
-		return result;
-	}
+        return result;
+    }
 
-	public void setDeleted(boolean deleted) {
-		this.deleted = deleted;
-	}
+    public void setDeleted(boolean deleted) {
+        this.deleted = deleted;
+    }
 
-	public boolean isDeleted() {
-		return deleted;
-	}
+    public boolean isDeleted() {
+        return deleted;
+    }
 
 }
Index: applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/data/EditGpxWayPoint.java
===================================================================
--- applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/data/EditGpxWayPoint.java	(revision 22548)
+++ applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/data/EditGpxWayPoint.java	(revision 23189)
@@ -8,32 +8,32 @@
 
 public class EditGpxWayPoint {
-	private final double time;
-	private final CachedLatLon coor;
-	private boolean deleted;
-	private Map<String, Object> attributes;
+    private final double time;
+    private final CachedLatLon coor;
+    private boolean deleted;
+    private Map<String, Object> attributes;
 
-	public EditGpxWayPoint(WayPoint wayPoint) {
-		this.time = wayPoint.time;
-		this.coor = new CachedLatLon(wayPoint.getCoor());
-		this.attributes = new HashMap<String, Object>(wayPoint.attr);
-	}
+    public EditGpxWayPoint(WayPoint wayPoint) {
+        this.time = wayPoint.time;
+        this.coor = new CachedLatLon(wayPoint.getCoor());
+        this.attributes = new HashMap<String, Object>(wayPoint.attr);
+    }
 
-	public WayPoint createWayPoint() {
-		WayPoint result = new WayPoint(getCoor());
-		result.time = time;
-		result.attr = attributes;
-		return result;
-	}
+    public WayPoint createWayPoint() {
+        WayPoint result = new WayPoint(getCoor());
+        result.time = time;
+        result.attr = attributes;
+        return result;
+    }
 
-	public void setDeleted(boolean deleted) {
-		this.deleted = deleted;
-	}
+    public void setDeleted(boolean deleted) {
+        this.deleted = deleted;
+    }
 
-	public boolean isDeleted() {
-		return deleted;
-	}
+    public boolean isDeleted() {
+        return deleted;
+    }
 
-	public CachedLatLon getCoor() {
-		return coor;
-	}
+    public CachedLatLon getCoor() {
+        return coor;
+    }
 }
