Index: applications/editors/josm/plugins/livegps/src/livegps/LiveGpsAcquirer.java
===================================================================
--- applications/editors/josm/plugins/livegps/src/livegps/LiveGpsAcquirer.java	(revision 30350)
+++ applications/editors/josm/plugins/livegps/src/livegps/LiveGpsAcquirer.java	(revision 30351)
@@ -128,10 +128,10 @@
                 } catch (IOException iox) {
                     fireGpsStatusChangeEvent( LiveGpsStatus.GpsStatus.CONNECTION_FAILED, tr("Connection Failed"));
-	                try {
-	                    Thread.sleep(1000);
-	                } catch (InterruptedException ignore) {
-	                	
-	                }
-	            }
+                    try {
+                        Thread.sleep(1000);
+                    } catch (InterruptedException ignore) {
+                        
+                    }
+                }
             }
 
@@ -195,5 +195,5 @@
                 break;
             } catch (IOException e) {
-            	Main.warn("LiveGps: Could not open connection to gpsd: " + e);
+                Main.warn("LiveGps: Could not open connection to gpsd: " + e);
                 gpsdSocket = null;
             }
@@ -220,5 +220,5 @@
                 Main.info("LiveGps: Connected to gpsd " + release);
             } else
-            	Main.info("LiveGps: Unexpected JSON in gpsd greeting: " + line);
+                Main.info("LiveGps: Unexpected JSON in gpsd greeting: " + line);
         } catch (JsonException jex) {
             if (line.startsWith("GPSD,")) {
@@ -231,8 +231,8 @@
 
         if (JSONProtocol == true) {
-        	JsonObject Watch = Json.createObjectBuilder()
-        			.add("enable", true)
-        			.add("json", true)
-        			.build();
+            JsonObject Watch = Json.createObjectBuilder()
+                    .add("enable", true)
+                    .add("json", true)
+                    .build();
 
             String Request = "?WATCH=" + Watch.toString() + ";\n";
@@ -253,5 +253,5 @@
             gpsdSocket = null;
         } catch (Exception e) {
-        	Main.warn("LiveGps: Unable to close socket; reconnection may not be possible");
+            Main.warn("LiveGps: Unable to close socket; reconnection may not be possible");
         }
     }
@@ -271,5 +271,5 @@
             type = report.getString("class");
         } catch (JsonException jex) {
-        	Main.warn("LiveGps: line read from gpsd is not a JSON object:" + line);
+            Main.warn("LiveGps: line read from gpsd is not a JSON object:" + line);
             return null;
         }
@@ -291,5 +291,5 @@
             return new LiveGpsData(lat, lon, course, speed, epx, epy);
         } catch (JsonException je) {
-        	Main.debug(je.getMessage());
+            Main.debug(je.getMessage());
         }
 
Index: applications/editors/josm/plugins/livegps/src/livegps/LiveGpsData.java
===================================================================
--- applications/editors/josm/plugins/livegps/src/livegps/LiveGpsData.java	(revision 30350)
+++ applications/editors/josm/plugins/livegps/src/livegps/LiveGpsData.java	(revision 30351)
@@ -55,6 +55,6 @@
         this.course = course;
         this.speed = speed;
-	this.epx = epx;
-	this.epy = epy;
+        this.epx = epx;
+        this.epy = epy;
     }
 
@@ -123,17 +123,17 @@
 
     public void setEpy(float epy) {
-	this.epy = epy;
+        this.epy = epy;
     }
 
     public void setEpx(float epx) {
-	this.epx = epx;
+        this.epx = epx;
     }
 
     public float getEpy() {
-	return this.epy;
+        return this.epy;
     }
 
     public float getEpx() {
-	return this.epx;
+        return this.epx;
     }
 
@@ -201,7 +201,4 @@
     }
 
-    /* (non-Javadoc)
-     * @see java.lang.Object#hashCode()
-     */
     @Override
     public int hashCode() {
@@ -213,7 +210,5 @@
         return result;
     }
-    /* (non-Javadoc)
-     * @see java.lang.Object#equals(java.lang.Object)
-     */
+
     @Override
     public boolean equals(Object obj) {
Index: applications/editors/josm/plugins/livegps/src/livegps/LiveGpsDialog.java
===================================================================
--- applications/editors/josm/plugins/livegps/src/livegps/LiveGpsDialog.java	(revision 30350)
+++ applications/editors/josm/plugins/livegps/src/livegps/LiveGpsDialog.java	(revision 30351)
@@ -61,7 +61,4 @@
     }
 
-    /* (non-Javadoc)
-     * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
-     */
     public void propertyChange(PropertyChangeEvent evt) {
         if (!isVisible())
Index: applications/editors/josm/plugins/livegps/src/livegps/LiveGpsLayer.java
===================================================================
--- applications/editors/josm/plugins/livegps/src/livegps/LiveGpsLayer.java	(revision 30350)
+++ applications/editors/josm/plugins/livegps/src/livegps/LiveGpsLayer.java	(revision 30351)
@@ -62,5 +62,5 @@
         data.tracks.add(trackBeingWritten);
 
-	initIntervals();
+        initIntervals();
     }
 
@@ -77,6 +77,6 @@
         trackSegment.addWaypoint(lastPoint);
 
-	if (autocenter)
-		conditionalCenter(thisPos);
+        if (autocenter)
+            conditionalCenter(thisPos);
     }
 
@@ -87,15 +87,15 @@
 
     public void conditionalCenter(LatLon Pos) {
-	Point2D P = Main.map.mapView.getPoint2D(Pos);
-	Rectangle rv = Main.map.mapView.getBounds(null);
-	Date date = new Date();
-	long current = date.getTime();
-
-	rv.grow(-(int)(rv.getHeight() * centerFactor), -(int)(rv.getWidth() * centerFactor));
-
-	if (!rv.contains(P) || (centerInterval > 0 && current - lastCenter >= centerInterval)) {
-		Main.map.mapView.zoomTo(Pos);
-		lastCenter = current;
-	}
+        Point2D P = Main.map.mapView.getPoint2D(Pos);
+        Rectangle rv = Main.map.mapView.getBounds(null);
+        Date date = new Date();
+        long current = date.getTime();
+
+        rv.grow(-(int)(rv.getHeight() * centerFactor), -(int)(rv.getWidth() * centerFactor));
+
+        if (!rv.contains(P) || (centerInterval > 0 && current - lastCenter >= centerInterval)) {
+            Main.map.mapView.zoomTo(Pos);
+            lastCenter = current;
+        }
     }
 
@@ -108,65 +108,62 @@
         super.paint(g, mv, bounds);
 
-	if (lastPoint == null)
-		return;
-
-	Point screen = mv.getPoint(lastPoint.getCoor());
-
-	int TriaHeight = Main.pref.getInteger(C_CURSOR_H, 20);
-	int TriaWidth = Main.pref.getInteger(C_CURSOR_W, 10);
-	int TriaThick = Main.pref.getInteger(C_CURSOR_T, 4);
-
-	/*
-	 * Draw a bold triangle.
-	 * In case of deep zoom draw also a thin DOP oval.
-	 */
-
-	g.setColor(Main.pref.getColor(C_LIVEGPS_COLOR_POSITION_ESTIMATE, Color.CYAN));
-	int w, h;
-	double ppm = 100 / mv.getDist100Pixel();	/* pixels per metre */
-
-	w = (int )Math.round(lastData.getEpx() * ppm);
-	h = (int )Math.round(lastData.getEpy() * ppm);
-
-	if (w > TriaWidth || h > TriaWidth) {
-		int xo, yo;
-
-		yo = screen.y - Math.round(h/2);
-		xo = screen.x - Math.round(w/2);
-
-		g.drawOval(xo, yo, w, h);
-	}
-
-	int[] x = new int[4];
-	int[] y = new int[4];
-	float course = lastData.getCourse();
-	float csin = (float )Math.sin(Math.toRadians(course));
-	float ccos = (float )Math.cos(Math.toRadians(course));
-	float csin120 = (float )Math.sin(Math.toRadians(course + 120));
-	float ccos120 = (float )Math.cos(Math.toRadians(course + 120));
-	float csin240 = (float )Math.sin(Math.toRadians(course + 240));
-	float ccos240 = (float )Math.cos(Math.toRadians(course + 240));
-
-	g.setColor(Main.pref.getColor(C_LIVEGPS_COLOR_POSITION, Color.RED));
-
-	for (int i = 0; i < TriaThick; i++, TriaHeight--, TriaWidth--) {
-
-		x[0] = screen.x + Math.round(TriaHeight * csin);
-		y[0] = screen.y - Math.round(TriaHeight * ccos);
-		x[1] = screen.x + Math.round(TriaWidth * csin120);
-		y[1] = screen.y - Math.round(TriaWidth * ccos120);
-		x[2] = screen.x;
-		y[2] = screen.y;
-		x[3] = screen.x + Math.round(TriaWidth * csin240);
-		y[3] = screen.y - Math.round(TriaWidth * ccos240);
-
-		g.drawPolygon(x, y, 4);
-	}
-
-    }
-
-    /* (non-Javadoc)
-     * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
-     */
+        if (lastPoint == null)
+            return;
+    
+        Point screen = mv.getPoint(lastPoint.getCoor());
+    
+        int TriaHeight = Main.pref.getInteger(C_CURSOR_H, 20);
+        int TriaWidth = Main.pref.getInteger(C_CURSOR_W, 10);
+        int TriaThick = Main.pref.getInteger(C_CURSOR_T, 4);
+    
+        /*
+         * Draw a bold triangle.
+         * In case of deep zoom draw also a thin DOP oval.
+         */
+    
+        g.setColor(Main.pref.getColor(C_LIVEGPS_COLOR_POSITION_ESTIMATE, Color.CYAN));
+        int w, h;
+        double ppm = 100 / mv.getDist100Pixel();    /* pixels per metre */
+    
+        w = (int )Math.round(lastData.getEpx() * ppm);
+        h = (int )Math.round(lastData.getEpy() * ppm);
+    
+        if (w > TriaWidth || h > TriaWidth) {
+            int xo, yo;
+    
+            yo = screen.y - Math.round(h/2);
+            xo = screen.x - Math.round(w/2);
+    
+            g.drawOval(xo, yo, w, h);
+        }
+    
+        int[] x = new int[4];
+        int[] y = new int[4];
+        float course = lastData.getCourse();
+        float csin = (float )Math.sin(Math.toRadians(course));
+        float ccos = (float )Math.cos(Math.toRadians(course));
+        float csin120 = (float )Math.sin(Math.toRadians(course + 120));
+        float ccos120 = (float )Math.cos(Math.toRadians(course + 120));
+        float csin240 = (float )Math.sin(Math.toRadians(course + 240));
+        float ccos240 = (float )Math.cos(Math.toRadians(course + 240));
+    
+        g.setColor(Main.pref.getColor(C_LIVEGPS_COLOR_POSITION, Color.RED));
+    
+        for (int i = 0; i < TriaThick; i++, TriaHeight--, TriaWidth--) {
+    
+            x[0] = screen.x + Math.round(TriaHeight * csin);
+            y[0] = screen.y - Math.round(TriaHeight * ccos);
+            x[1] = screen.x + Math.round(TriaWidth * csin120);
+            y[1] = screen.y - Math.round(TriaWidth * ccos120);
+            x[2] = screen.x;
+            y[2] = screen.y;
+            x[3] = screen.x + Math.round(TriaWidth * csin240);
+            y[3] = screen.y - Math.round(TriaWidth * ccos240);
+    
+            g.drawPolygon(x, y, 4);
+        }
+
+    }
+
     public void propertyChange(PropertyChangeEvent evt) {
         if (!isVisible()) {
@@ -190,12 +187,12 @@
      */
     private boolean allowRedraw() {
-	Date date = new Date();
-	long current = date.getTime();
-
-	if (current - lastRedraw >= refreshInterval) {
-		lastRedraw = current;
-		return true;
-	} else
-		return false;
+        Date date = new Date();
+        long current = date.getTime();
+
+        if (current - lastRedraw >= refreshInterval) {
+            lastRedraw = current;
+            return true;
+        } else
+            return false;
     }
 
@@ -206,26 +203,26 @@
      */
     private void initIntervals() {
-	if ((refreshInterval = Main.pref.getInteger(oldC_REFRESH_INTERVAL, 0)) != 0) {
-		refreshInterval *= 1000;
-		Main.pref.put(oldC_REFRESH_INTERVAL, null);
-	} else
-		refreshInterval = Main.pref.getInteger(C_REFRESH_INTERVAL, DEFAULT_REFRESH_INTERVAL);
-
-	centerInterval = Main.pref.getInteger(C_CENTER_INTERVAL, DEFAULT_CENTER_INTERVAL);
-	centerFactor = Main.pref.getInteger(C_CENTER_FACTOR, DEFAULT_CENTER_FACTOR);
-	if (centerFactor <= 1 || centerFactor >= 99)
-		centerFactor = DEFAULT_CENTER_FACTOR;
-
-        Main.pref.putInteger(C_REFRESH_INTERVAL, refreshInterval);
-        Main.pref.putInteger(C_CENTER_INTERVAL, centerInterval);
-	Main.pref.putInteger(C_CENTER_FACTOR, (int )centerFactor);
-
-	/*
-	 * Do one time conversion of factor: user value means "how big is inner rectangle
-	 * comparing to screen in percent", machine value means "what is the shrink ratio
-	 * for each dimension on _both_ sides".
-	 */
-
-	centerFactor = (100 - centerFactor) / 2 / 100;
+        if ((refreshInterval = Main.pref.getInteger(oldC_REFRESH_INTERVAL, 0)) != 0) {
+            refreshInterval *= 1000;
+            Main.pref.put(oldC_REFRESH_INTERVAL, null);
+        } else
+            refreshInterval = Main.pref.getInteger(C_REFRESH_INTERVAL, DEFAULT_REFRESH_INTERVAL);
+
+        centerInterval = Main.pref.getInteger(C_CENTER_INTERVAL, DEFAULT_CENTER_INTERVAL);
+        centerFactor = Main.pref.getInteger(C_CENTER_FACTOR, DEFAULT_CENTER_FACTOR);
+        if (centerFactor <= 1 || centerFactor >= 99)
+            centerFactor = DEFAULT_CENTER_FACTOR;
+
+            Main.pref.putInteger(C_REFRESH_INTERVAL, refreshInterval);
+            Main.pref.putInteger(C_CENTER_INTERVAL, centerInterval);
+        Main.pref.putInteger(C_CENTER_FACTOR, (int )centerFactor);
+
+        /*
+         * Do one time conversion of factor: user value means "how big is inner rectangle
+         * comparing to screen in percent", machine value means "what is the shrink ratio
+         * for each dimension on _both_ sides".
+         */
+
+        centerFactor = (100 - centerFactor) / 2 / 100;
     }
 }
Index: applications/editors/josm/plugins/livegps/src/livegps/LiveGpsPlugin.java
===================================================================
--- applications/editors/josm/plugins/livegps/src/livegps/LiveGpsPlugin.java	(revision 30350)
+++ applications/editors/josm/plugins/livegps/src/livegps/LiveGpsPlugin.java	(revision 30351)
@@ -102,5 +102,5 @@
     public void layerRemoved(Layer oldLayer) {
         if (oldLayer != lgpslayer)
-		return;
+        return;
 
         enableTracking(false);
@@ -159,5 +159,5 @@
      */
     public void enableTracking(boolean enable) {
-	
+    
         if (enable && !enabled) {
             assert (acquirer == null);
@@ -167,31 +167,31 @@
             acquirerThread = new Thread(acquirer);
 
-	    if (lgpslayer == null) {
-		lgpslayer = new LiveGpsLayer(data);
-		Main.main.addLayer(lgpslayer);
-		MapView.addLayerChangeListener(this);
-		lgpslayer.setAutoCenter(isAutoCenter());
-	    }
+            if (lgpslayer == null) {
+                lgpslayer = new LiveGpsLayer(data);
+                Main.main.addLayer(lgpslayer);
+                MapView.addLayerChangeListener(this);
+                lgpslayer.setAutoCenter(isAutoCenter());
+            }
 
             acquirer.addPropertyChangeListener(lgpslayer);
             acquirer.addPropertyChangeListener(lgpsdialog);
             for (PropertyChangeListener listener : listenerQueue)
-	        acquirer.addPropertyChangeListener(listener);
+            acquirer.addPropertyChangeListener(listener);
 
             acquirerThread.start();
 
-	    enabled = true;
+            enabled = true;
 
         } else if (!enable && enabled) {
-	    assert (lgpslayer != null);
+            assert (lgpslayer != null);
             assert (acquirer != null);
             assert (acquirerThread != null);
 
-	    acquirer.shutdown();
-	    acquirer = null;
-	    acquirerThread = null;
-
-	    enabled = false;
-	}
+            acquirer.shutdown();
+            acquirer = null;
+            acquirerThread = null;
+
+            enabled = false;
+        }
     }
 
@@ -220,7 +220,4 @@
     }
 
-    /* (non-Javadoc)
-     * @see org.openstreetmap.josm.plugins.Plugin#mapFrameInitialized(org.openstreetmap.josm.gui.MapFrame, org.openstreetmap.josm.gui.MapFrame)
-     */
     @Override
     public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
