Index: applications/editors/josm/plugins/indoor_sweepline/.checkstyle
===================================================================
--- applications/editors/josm/plugins/indoor_sweepline/.checkstyle	(revision 32601)
+++ applications/editors/josm/plugins/indoor_sweepline/.checkstyle	(revision 32601)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
+  <local-check-config name="JOSM" location="/JOSM/tools/checkstyle/josm_checks.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="all" enabled="true" check-config-name="JOSM" local="true">
+    <file-match-pattern match-pattern="." include-pattern="true"/>
+  </fileset>
+  <filter name="DerivedFiles" enabled="true"/>
+  <filter name="FilesFromPackage" enabled="true">
+    <filter-data value="data"/>
+    <filter-data value="images"/>
+    <filter-data value="styles"/>
+    <filter-data value="resources"/>
+    <filter-data value="scripts"/>
+  </filter>
+</fileset-config>
Index: applications/editors/josm/plugins/indoor_sweepline/.project
===================================================================
--- applications/editors/josm/plugins/indoor_sweepline/.project	(revision 32600)
+++ applications/editors/josm/plugins/indoor_sweepline/.project	(revision 32601)
@@ -17,7 +17,13 @@
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
 	</natures>
 </projectDescription>
Index: applications/editors/josm/plugins/indoor_sweepline/build.xml
===================================================================
--- applications/editors/josm/plugins/indoor_sweepline/build.xml	(revision 32600)
+++ applications/editors/josm/plugins/indoor_sweepline/build.xml	(revision 32601)
@@ -5,5 +5,5 @@
     <property name="commit.message" value="Commit message"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="10279"/>
+    <property name="plugin.main.version" value="10420"/>
 
     <property name="plugin.author" value="Roland M. Olbricht"/>
Index: applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/Beam.java
===================================================================
--- applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/Beam.java	(revision 32600)
+++ applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/Beam.java	(revision 32601)
@@ -1,19 +1,16 @@
+// License: GPL. For details, see LICENSE file.
 package indoor_sweepline;
 
 import java.util.Vector;
 
-
-public class Beam
-{
-    public Beam(Vector<Double> blueprint, double blueprintOffset, CorridorPart.ReachableSide defaultSide)
-    {
+public class Beam {
+
+    public Beam(Vector<Double> blueprint, double blueprintOffset, CorridorPart.ReachableSide defaultSide) {
         offset = blueprintOffset;
         parts = new Vector<>();
 
         setDefaultSide_(defaultSide);
-        if (defaultSide == CorridorPart.ReachableSide.RIGHT)
-        {
-            for (int i = 1; i < blueprint.size(); i += 2)
-            {
+        if (defaultSide == CorridorPart.ReachableSide.RIGHT) {
+            for (int i = 1; i < blueprint.size(); i += 2) {
                 addCorridorPart_(true, CorridorPart.Type.WALL,
                         blueprint.elementAt(i).doubleValue() - blueprint.elementAt(i-1).doubleValue());
@@ -22,9 +19,6 @@
                             blueprint.elementAt(i+1).doubleValue() - blueprint.elementAt(i).doubleValue());
             }
-        }
-        else
-        {
-            for (int i = 1; i < blueprint.size(); i += 2)
-            {
+        } else {
+            for (int i = 1; i < blueprint.size(); i += 2) {
                 addCorridorPart_(true, CorridorPart.Type.PASSAGE,
                         blueprint.elementAt(i).doubleValue() - blueprint.elementAt(i-1).doubleValue());
@@ -37,36 +31,26 @@
     }
 
-
-    private void setDefaultSide_(CorridorPart.ReachableSide defaultSide)
-    {
+    private void setDefaultSide_(CorridorPart.ReachableSide defaultSide) {
         this.defaultSide = defaultSide;
     }
 
-    public void setDefaultSide(CorridorPart.ReachableSide defaultSide)
-    {
+    public void setDefaultSide(CorridorPart.ReachableSide defaultSide) {
         setDefaultSide_(defaultSide);
         adjustStripCache();
     }
 
-
-    public Vector<CorridorPart> getBeamParts()
-    {
+    public Vector<CorridorPart> getBeamParts() {
         return parts;
     }
 
-
-    public double getBeamOffset()
-    {
+    public double getBeamOffset() {
         return offset;
     }
 
-    public void setBeamOffset(double beamOffset)
-    {
+    public void setBeamOffset(double beamOffset) {
         offset = beamOffset;
     }
 
-
-    private void addCorridorPart_(boolean append, CorridorPart.Type type, double width)
-    {
+    private void addCorridorPart_(boolean append, CorridorPart.Type type, double width) {
         CorridorPart.ReachableSide side = defaultSide == CorridorPart.ReachableSide.RIGHT ?
                 defaultSide : CorridorPart.ReachableSide.ALL;
@@ -78,6 +62,5 @@
     }
 
-    public void addCorridorPart(boolean append, double width)
-    {
+    public void addCorridorPart(boolean append, double width) {
         addCorridorPart_(append,
                 defaultSide == CorridorPart.ReachableSide.RIGHT ? CorridorPart.Type.WALL : CorridorPart.Type.PASSAGE,
@@ -86,14 +69,10 @@
     }
 
-
-    public void setCorridorPartWidth(int partIndex, double value)
-    {
+    public void setCorridorPartWidth(int partIndex, double value) {
         parts.elementAt(partIndex).width = value;
         adjustStripCache();
     }
 
-
-    public void setCorridorPartType(int partIndex, CorridorPart.Type type)
-    {
+    public void setCorridorPartType(int partIndex, CorridorPart.Type type) {
         parts.elementAt(partIndex).setType(type, defaultSide);
         enforceSideCoherence();
@@ -101,7 +80,5 @@
     }
 
-
-    public void setCorridorPartSide(int partIndex, CorridorPart.ReachableSide side)
-    {
+    public void setCorridorPartSide(int partIndex, CorridorPart.ReachableSide side) {
         parts.elementAt(partIndex).setSide(side, defaultSide);
         enforceSideCoherence();
@@ -109,9 +86,6 @@
     }
 
-
-    private void enforceSideCoherence()
-    {
-        for (int i = 1; i < parts.size(); ++i)
-        {
+    private void enforceSideCoherence() {
+        for (int i = 1; i < parts.size(); ++i) {
             if (parts.elementAt(i).getSide() != CorridorPart.ReachableSide.ALL
                     && parts.elementAt(i-1).getSide() != CorridorPart.ReachableSide.ALL)
@@ -120,7 +94,5 @@
     }
 
-
-    private boolean isVoidAbove(int i)
-    {
+    private boolean isVoidAbove(int i) {
         return i == 0 || parts.elementAt(i-1).getType() == CorridorPart.Type.VOID
                 || (parts.elementAt(i-1).getSide() == CorridorPart.ReachableSide.RIGHT
@@ -130,6 +102,5 @@
     }
 
-    private boolean isVoidBelow(int i)
-    {
+    private boolean isVoidBelow(int i) {
         return i == parts.size() || parts.elementAt(i).getType() == CorridorPart.Type.VOID
                 || (parts.elementAt(i).getSide() == CorridorPart.ReachableSide.RIGHT
@@ -139,6 +110,5 @@
     }
 
-    private boolean isPassageAbove(int i)
-    {
+    private boolean isPassageAbove(int i) {
         return i > 0
                 && parts.elementAt(i-1).getType() == CorridorPart.Type.PASSAGE
@@ -146,6 +116,5 @@
     }
 
-    private boolean isPassageBelow(int i)
-    {
+    private boolean isPassageBelow(int i) {
         return i < parts.size()
                 && parts.elementAt(i).getType() == CorridorPart.Type.PASSAGE
@@ -153,6 +122,5 @@
     }
 
-    private boolean isReachableLeft(int i)
-    {
+    private boolean isReachableLeft(int i) {
         if (defaultSide == CorridorPart.ReachableSide.RIGHT)
             return false;
@@ -162,16 +130,11 @@
     }
 
-
-    private void connectTwoPos(StripPosition newPos, boolean toLeft)
-    {
+    private void connectTwoPos(StripPosition newPos, boolean toLeft) {
         StripPosition other = null;
-        if (rhsStrips.size() > 0 && rhsStrips.elementAt(rhsStrips.size()-1).connectedTo == -1)
-        {
+        if (rhsStrips.size() > 0 && rhsStrips.elementAt(rhsStrips.size()-1).connectedTo == -1) {
             newPos.connectedToSameSide = !toLeft;
             newPos.connectedTo = rhsStrips.size()-1;
             other = rhsStrips.elementAt(rhsStrips.size()-1);
-        }
-        else
-        {
+        } else {
             newPos.connectedToSameSide = toLeft;
             newPos.connectedTo = lhsStrips.size()-1;
@@ -180,11 +143,8 @@
 
         other.connectedToSameSide = newPos.connectedToSameSide;
-        if (toLeft)
-        {
+        if (toLeft) {
             other.connectedTo = lhsStrips.size();
             lhsStrips.add(newPos);
-        }
-        else
-        {
+        } else {
             other.connectedTo = rhsStrips.size();
             rhsStrips.add(newPos);
@@ -192,9 +152,6 @@
     }
 
-
-    private class StripPosition
-    {
-        StripPosition(int nodeIndex, double offset)
-        {
+    private class StripPosition {
+        StripPosition(int nodeIndex, double offset) {
             this.nodeIndex = nodeIndex;
             this.offset = offset;
@@ -209,5 +166,4 @@
     }
 
-
     private double offset;
     private Vector<CorridorPart> parts;
@@ -215,7 +171,5 @@
     private Vector<StripPosition> rhsStrips;
 
-
-    private void adjustStripCache()
-    {
+    private void adjustStripCache() {
         lhsStrips = new Vector<>();
         rhsStrips = new Vector<>();
@@ -223,10 +177,7 @@
         double offset = 0;
 
-        for (int i = 0; i <= parts.size(); ++i)
-        {
-            if (isVoidBelow(i))
-            {
-                if (isPassageAbove(i))
-                {
+        for (int i = 0; i <= parts.size(); ++i) {
+            if (isVoidBelow(i)) {
+                if (isPassageAbove(i)) {
                     StripPosition lhs = new StripPosition(i, offset);
                     StripPosition rhs = new StripPosition(i, offset);
@@ -239,12 +190,8 @@
                     lhsStrips.add(lhs);
                     rhsStrips.add(rhs);
-                }
-                else if (!isVoidAbove(i))
+                } else if (!isVoidAbove(i))
                     connectTwoPos(new StripPosition(i, offset), isReachableLeft(i-1));
-            }
-            else if (isPassageBelow(i))
-            {
-                if (isVoidAbove(i))
-                {
+            } else if (isPassageBelow(i)) {
+                if (isVoidAbove(i)) {
                     StripPosition lhs = new StripPosition(i, offset);
                     StripPosition rhs = new StripPosition(i, offset);
@@ -257,19 +204,13 @@
                     lhsStrips.add(lhs);
                     rhsStrips.add(rhs);
-                }
-                else if (!isPassageAbove(i))
+                } else if (!isPassageAbove(i))
                     connectTwoPos(new StripPosition(i, offset), !isReachableLeft(i-1));
-            }
-            else
-            {
-                if (isVoidAbove(i))
-                {
+            } else {
+                if (isVoidAbove(i)) {
                     if (isReachableLeft(i))
                         lhsStrips.add(new StripPosition(i, offset));
                     else
                         rhsStrips.add(new StripPosition(i, offset));
-                }
-                else if (isPassageAbove(i))
-                {
+                } else if (isPassageAbove(i)) {
                     if (isReachableLeft(i))
                         rhsStrips.add(new StripPosition(i, offset));
@@ -284,27 +225,23 @@
     }
 
-
-    public Vector<Double> leftHandSideStrips()
-    {
+    public Vector<Double> leftHandSideStrips() {
         Vector<Double> offsets = new Vector<>();
-        for (StripPosition pos : lhsStrips)
+        for (StripPosition pos : lhsStrips) {
             offsets.add(pos.offset);
+        }
 
         return offsets;
     }
 
-
-    public Vector<Double> rightHandSideStrips()
-    {
+    public Vector<Double> rightHandSideStrips() {
         Vector<Double> offsets = new Vector<>();
-        for (StripPosition pos : rhsStrips)
+        for (StripPosition pos : rhsStrips) {
             offsets.add(pos.offset);
+        }
 
         return offsets;
     }
 
-
-    public int getBeamPartIndex(boolean toTheLeft, int i)
-    {
+    public int getBeamPartIndex(boolean toTheLeft, int i) {
         if (toTheLeft)
             return lhsStrips.elementAt(i).nodeIndex;
@@ -313,10 +250,7 @@
     }
 
-
     public boolean appendNodes(IndoorSweeplineModel.SweepPolygonCursor cursor, boolean fromRight,
-            BeamGeography geography, String level)
-    {
-        if (fromRight)
-        {
+            BeamGeography geography, String level) {
+        if (fromRight) {
             StripPosition pos = rhsStrips.elementAt(cursor.partIndex);
             StripPosition to = pos.connectedToSameSide ?
@@ -330,7 +264,5 @@
 
                     return !pos.connectedToSameSide;
-        }
-        else
-        {
+        } else {
             StripPosition pos = lhsStrips.elementAt(cursor.partIndex);
             StripPosition to = pos.connectedToSameSide ?
@@ -347,5 +279,4 @@
     }
 
-
     private CorridorPart.ReachableSide defaultSide;
 }
Index: applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/BeamGeography.java
===================================================================
--- applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/BeamGeography.java	(revision 32600)
+++ applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/BeamGeography.java	(revision 32601)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package indoor_sweepline;
 
@@ -7,9 +8,7 @@
 import org.openstreetmap.josm.data.osm.Node;
 
+public class BeamGeography {
 
-public class BeamGeography
-{
-    public BeamGeography(DataSet dataSet, ModelGeography target)
-    {
+    public BeamGeography(DataSet dataSet, ModelGeography target) {
         partsGeography = new Vector<>();
         nodes = new Vector<>();
@@ -18,11 +17,7 @@
     }
 
-
-    public void appendNodes(int from, int to, String level)
-    {
-        if (from <= to)
-        {
-            for (int i = from; i < to; ++i)
-            {
+    public void appendNodes(int from, int to, String level) {
+        if (from <= to) {
+            for (int i = from; i < to; ++i) {
                 target.appendNode(nodes.elementAt(i));
                 CorridorPart part = parts.elementAt(i);
@@ -31,9 +26,6 @@
             }
             target.appendNode(nodes.elementAt(to));
-        }
-        else
-        {
-            for (int i = from; i > to; --i)
-            {
+        } else {
+            for (int i = from; i > to; --i) {
                 target.appendNode(nodes.elementAt(i));
                 CorridorPart part = parts.elementAt(i-1);
@@ -45,7 +37,5 @@
     }
 
-
-    public void adjustNodes(LatLon pivot, Vector<CorridorPart> parts, double beamOffset)
-    {
+    public void adjustNodes(LatLon pivot, Vector<CorridorPart> parts, double beamOffset) {
         double offset = -beamOffset;
         this.parts = parts;
@@ -53,6 +43,5 @@
         adjustNode(0, new LatLon(addMetersToLat(pivot, offset), pivot.lon()));
 
-        for (int i = 0; i < parts.size(); ++i)
-        {
+        for (int i = 0; i < parts.size(); ++i) {
             adjustPartGeography(i);
             offset += parts.elementAt(i).width;
@@ -63,28 +52,21 @@
     }
 
-
-    private void adjustNode(int i, LatLon coor)
-    {
+    private void adjustNode(int i, LatLon coor) {
         if (nodes.size() <= i)
             nodes.setSize(i+1);
         Node node = nodes.elementAt(i);
-        if (node == null)
-        {
+        if (node == null) {
             node = new Node(coor);
             dataSet.addPrimitive(node);
             nodes.setElementAt(node, i);
-        }
-        else
+        } else
             node.setCoor(coor);
     }
 
-
-    private void adjustPartGeography(int i)
-    {
+    private void adjustPartGeography(int i) {
         if (partsGeography.size() <= i)
             partsGeography.setSize(i+1);
         CorridorGeography partGeography = partsGeography.elementAt(i);
-        if (partGeography == null)
-        {
+        if (partGeography == null) {
             partGeography = new CorridorGeography(dataSet);
             partsGeography.setElementAt(partGeography, i);
@@ -92,10 +74,7 @@
     }
 
-
-    public LatLon coorAt(int i)
-    {
+    public LatLon coorAt(int i) {
         return nodes.elementAt(i).getCoor();
     }
-
 
     private Vector<CorridorPart> parts;
@@ -105,7 +84,5 @@
     private Vector<Node> nodes;
 
-
-    private static double addMetersToLat(LatLon latLon, double south)
-    {
+    private static double addMetersToLat(LatLon latLon, double south) {
         return latLon.lat() - south *(360./4e7);
     }
Index: applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/CorridorGeography.java
===================================================================
--- applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/CorridorGeography.java	(revision 32600)
+++ applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/CorridorGeography.java	(revision 32601)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package indoor_sweepline;
 
@@ -8,47 +9,33 @@
 import org.openstreetmap.josm.data.osm.Way;
 
+public class CorridorGeography {
 
-public class CorridorGeography
-{
-    public CorridorGeography(DataSet dataSet)
-    {
+    public CorridorGeography(DataSet dataSet) {
         this.dataSet = dataSet;
     }
 
-
     private static final double MIN_LENGTH = 10.;
 
-
     private void setExtraElements(CorridorPart.ReachableSide side, LatLon from, LatLon to,
-            boolean extraWayUp, double minLength)
-    {
+            boolean extraWayUp, double minLength) {
         LatLon middleCoor = new LatLon((from.lat() + to.lat())/2.,
                 (from.lon() + to.lon())/2.);
-        if (middleNode == null)
-        {
+        if (middleNode == null) {
             middleNode = new Node(middleCoor);
             dataSet.addPrimitive(middleNode);
-        }
-        else
+        } else
             middleNode.setCoor(middleCoor);
 
         LatLon start = from;
-        if (side == CorridorPart.ReachableSide.LEFT)
-        {
+        if (side == CorridorPart.ReachableSide.LEFT) {
             if (middleCoor.lat() < start.lat())
                 start = to;
-        }
-        else if (side == CorridorPart.ReachableSide.RIGHT)
-        {
+        } else if (side == CorridorPart.ReachableSide.RIGHT) {
             if (start.lat() < middleCoor.lat())
                 start = to;
-        }
-        else if (side == CorridorPart.ReachableSide.FRONT)
-        {
+        } else if (side == CorridorPart.ReachableSide.FRONT) {
             if (start.lon() < middleCoor.lon())
                 start = to;
-        }
-        else if (side == CorridorPart.ReachableSide.BACK)
-        {
+        } else if (side == CorridorPart.ReachableSide.BACK) {
             if (middleCoor.lon() < start.lon())
                 start = to;
@@ -61,39 +48,29 @@
         LatLon detachedCoor = new LatLon(middleCoor.lat() + (start.lon() - middleCoor.lon()) * scale * lengthFactor,
                 middleCoor.lon() - (start.lat() - middleCoor.lat()) / scale * lengthFactor);
-        if (detachedNode == null)
-        {
+        if (detachedNode == null) {
             detachedNode = new Node(detachedCoor);
             dataSet.addPrimitive(detachedNode);
-        }
-        else
+        } else
             detachedNode.setCoor(detachedCoor);
 
         Vector<Node> extraWayNodes = new Vector<>();
-        if (extraWayUp)
-        {
+        if (extraWayUp) {
             extraWayNodes.add(middleNode);
             extraWayNodes.add(detachedNode);
-        }
-        else
-        {
+        } else {
             extraWayNodes.add(detachedNode);
             extraWayNodes.add(middleNode);
         }
-        if (extraWay == null)
-        {
+        if (extraWay == null) {
             extraWay = new Way();
             extraWay.setNodes(extraWayNodes);
             dataSet.addPrimitive(extraWay);
-        }
-        else
+        } else
             extraWay.setNodes(extraWayNodes);
     }
 
-
     public void appendNodes(CorridorPart.Type type, CorridorPart.ReachableSide side, String level,
-            LatLon from, LatLon to, ModelGeography target)
-    {
-        if (type == CorridorPart.Type.STAIRS_UP || type == CorridorPart.Type.STAIRS_DOWN)
-        {
+            LatLon from, LatLon to, ModelGeography target) {
+        if (type == CorridorPart.Type.STAIRS_UP || type == CorridorPart.Type.STAIRS_DOWN) {
             setExtraElements(side, from, to, type == CorridorPart.Type.STAIRS_UP, MIN_LENGTH);
             target.appendNode(middleNode);
@@ -105,12 +82,10 @@
             extraWay.put("incline", "up");
             extraWay.put("level", level);
-        }
-        else if (type == CorridorPart.Type.ESCALATOR_UP_LEAVING
+        } else if (type == CorridorPart.Type.ESCALATOR_UP_LEAVING
                 || type == CorridorPart.Type.ESCALATOR_UP_ARRIVING
                 || type == CorridorPart.Type.ESCALATOR_UP_BIDIRECTIONAL
                 || type == CorridorPart.Type.ESCALATOR_DOWN_LEAVING
                 || type == CorridorPart.Type.ESCALATOR_DOWN_ARRIVING
-                || type == CorridorPart.Type.ESCALATOR_DOWN_BIDIRECTIONAL)
-        {
+                || type == CorridorPart.Type.ESCALATOR_DOWN_BIDIRECTIONAL) {
             setExtraElements(side, from, to,
                     type == CorridorPart.Type.ESCALATOR_UP_LEAVING
@@ -133,7 +108,5 @@
                 extraWay.put("conveying", "reversible");
             extraWay.put("level", level);
-        }
-        else if (type == CorridorPart.Type.ELEVATOR)
-        {
+        } else if (type == CorridorPart.Type.ELEVATOR) {
             setExtraElements(side, from, to, true, 0.);
             target.appendNode(middleNode);
@@ -145,19 +118,14 @@
             extraWay.put("highway", "footway");
             extraWay.put("level", level);
-        }
-        else
-        {
-            if (extraWay != null)
-            {
+        } else {
+            if (extraWay != null) {
                 extraWay.setDeleted(true);
                 extraWay = null;
             }
-            if (middleNode != null)
-            {
+            if (middleNode != null) {
                 middleNode.setDeleted(true);
                 middleNode = null;
             }
-            if (detachedNode != null)
-            {
+            if (detachedNode != null) {
                 detachedNode.setDeleted(true);
                 detachedNode = null;
@@ -166,5 +134,4 @@
     }
 
-
     private DataSet dataSet;
     private Node middleNode;
Index: applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/CorridorPart.java
===================================================================
--- applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/CorridorPart.java	(revision 32600)
+++ applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/CorridorPart.java	(revision 32601)
@@ -1,91 +1,75 @@
+// License: GPL. For details, see LICENSE file.
 package indoor_sweepline;
 
-public class CorridorPart
-{
-    public enum Type
-    {
-	VOID,
-	PASSAGE,
-	WALL,
-	STAIRS_UP,
-	STAIRS_DOWN,
-	ESCALATOR_UP_LEAVING,
-	ESCALATOR_UP_ARRIVING,
-	ESCALATOR_UP_BIDIRECTIONAL,
-	ESCALATOR_DOWN_LEAVING,
-	ESCALATOR_DOWN_ARRIVING,
-	ESCALATOR_DOWN_BIDIRECTIONAL,
-	ELEVATOR
+public class CorridorPart {
+
+    public enum Type {
+        VOID,
+        PASSAGE,
+        WALL,
+        STAIRS_UP,
+        STAIRS_DOWN,
+        ESCALATOR_UP_LEAVING,
+        ESCALATOR_UP_ARRIVING,
+        ESCALATOR_UP_BIDIRECTIONAL,
+        ESCALATOR_DOWN_LEAVING,
+        ESCALATOR_DOWN_ARRIVING,
+        ESCALATOR_DOWN_BIDIRECTIONAL,
+        ELEVATOR
     }
-    
 
-    public enum ReachableSide
-    {
-	ALL,
-	FRONT,
-	BACK,
-	LEFT,
-	RIGHT
+    public enum ReachableSide {
+        ALL,
+        FRONT,
+        BACK,
+        LEFT,
+        RIGHT
     }
-    
 
-    public CorridorPart(double width, Type type, ReachableSide side)
-    {
-	this.width = width;
-	this.type = type;
-	this.side = side;
+    public CorridorPart(double width, Type type, ReachableSide side) {
+        this.width = width;
+        this.type = type;
+        this.side = side;
     }
-    
-    
-    public boolean isObstacle(ReachableSide beamSide)
-    {
-	if (type == Type.VOID)
-	    return false;
-	if (type == Type.PASSAGE)
-	    return (beamSide != ReachableSide.ALL);
-	return true;
+
+    public boolean isObstacle(ReachableSide beamSide) {
+        if (type == Type.VOID)
+            return false;
+        if (type == Type.PASSAGE)
+            return (beamSide != ReachableSide.ALL);
+        return true;
     }
-    
-    
-    public Type getType()
-    {
-	return type;
+
+    public Type getType() {
+        return type;
     }
-    
-    public void setType(Type type, ReachableSide beamSide)
-    {
-	this.type = type;
-	adjustSideType(beamSide);
+
+    public void setType(Type type, ReachableSide beamSide) {
+        this.type = type;
+        adjustSideType(beamSide);
     }
-    
-    
-    public ReachableSide getSide()
-    {
-	return side;
+
+    public ReachableSide getSide() {
+        return side;
     }
-    
-    public void setSide(ReachableSide side, ReachableSide beamSide)
-    {
-	this.side = side;
-	adjustSideType(beamSide);
+
+    public void setSide(ReachableSide side, ReachableSide beamSide) {
+        this.side = side;
+        adjustSideType(beamSide);
     }
-    
 
     public double width;
     private Type type;
     private ReachableSide side;
-    
-    
-    private void adjustSideType(ReachableSide beamSide)
-    {
-	if (type == Type.PASSAGE || type == Type.VOID)
-	    side = ReachableSide.ALL;
-	else if (side == ReachableSide.ALL)
-	{
-	    if (beamSide == ReachableSide.RIGHT)
-		side = ReachableSide.RIGHT;
-	    else
-		side = ReachableSide.LEFT;
-	}
+
+    private void adjustSideType(ReachableSide beamSide) {
+        if (type == Type.PASSAGE || type == Type.VOID)
+            side = ReachableSide.ALL;
+        else if (side == ReachableSide.ALL) {
+            if (beamSide == ReachableSide.RIGHT)
+                side = ReachableSide.RIGHT;
+            else
+                side = ReachableSide.LEFT;
+        }
     }
 }
Index: applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/IndoorSweepline.java
===================================================================
--- applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/IndoorSweepline.java	(revision 32600)
+++ applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/IndoorSweepline.java	(revision 32601)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package indoor_sweepline;
 
@@ -8,24 +9,21 @@
 import org.openstreetmap.josm.plugins.PluginInformation;
 
-public class IndoorSweepline extends Plugin
-{
+public class IndoorSweepline extends Plugin {
     /**
-      * Will be invoked by JOSM to bootstrap the plugin
-      *
-      * @param info  information about the plugin and its local installation    
-      */
-    public IndoorSweepline(PluginInformation info)
-    {
-	super(info);
-	refreshMenu();
+     * Will be invoked by JOSM to bootstrap the plugin
+     *
+     * @param info  information about the plugin and its local installation
+     */
+    public IndoorSweepline(PluginInformation info) {
+        super(info);
+        refreshMenu();
     }
 
-    public static void refreshMenu()
-    {
+    public static void refreshMenu() {
         JMenu menu = Main.main.menu.moreToolsMenu;
         if (menu.isVisible())
-	    menu.addSeparator();
-	else
-	    menu.setVisible(true);
+            menu.addSeparator();
+        else
+            menu.setVisible(true);
         menu.add(new JMenuItem(new IndoorSweeplineWizardAction()));
     }
Index: applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/IndoorSweeplineController.java
===================================================================
--- applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/IndoorSweeplineController.java	(revision 32600)
+++ applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/IndoorSweeplineController.java	(revision 32601)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package indoor_sweepline;
 
@@ -13,9 +14,7 @@
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 
+public class IndoorSweeplineController implements LayerChangeListener {
 
-public class IndoorSweeplineController implements LayerChangeListener
-{
-    public IndoorSweeplineController(OsmDataLayer activeLayer, LatLon center)
-    {
+    public IndoorSweeplineController(OsmDataLayer activeLayer, LatLon center) {
         Main.getLayerManager().addLayerChangeListener(this);
         layer = activeLayer;
@@ -25,34 +24,27 @@
     }
 
-
-    public IndoorSweeplineWizardDialog view()
-    {
+    public IndoorSweeplineWizardDialog view() {
         return dialog;
     }
 
     @Override
-    public void layerOrderChanged(LayerOrderChangeEvent e)
-    {
+    public void layerOrderChanged(LayerOrderChangeEvent e) {
     }
 
     @Override
-    public void layerAdded(LayerAddEvent e)
-    {
+    public void layerAdded(LayerAddEvent e) {
     }
 
     @Override
-    public void layerRemoving(LayerRemoveEvent e)
-    {
+    public void layerRemoving(LayerRemoveEvent e) {
         if (e.getRemovedLayer() == layer)
             dialog.setVisible(false);
     }
 
-    public int leftRightCount()
-    {
+    public int leftRightCount() {
         return model.leftRightCount();
     }
 
-    public void addRightStructure()
-    {
+    public void addRightStructure() {
         if (model.leftRightCount() % 2 == 0)
             model.addBeam();
@@ -61,76 +53,61 @@
     }
 
-    public DefaultComboBoxModel<String> structures()
-    {
+    public DefaultComboBoxModel<String> structures() {
         return model.structures();
     }
 
-    public double getStripWidth(int index)
-    {
+    public double getStripWidth(int index) {
         return model.getStripWidth(index);
     }
 
-    public void setStripWidth(int index, double value)
-    {
+    public void setStripWidth(int index, double value) {
         model.setStripWidth(index, value);
     }
 
-    public double getBeamOffset(int index)
-    {
+    public double getBeamOffset(int index) {
         return model.getBeamOffset(index);
     }
 
-    public void setBeamOffset(int index, double beamOffset)
-    {
+    public void setBeamOffset(int index, double beamOffset) {
         model.setBeamOffset(index, beamOffset);
     }
 
-    public List<CorridorPart> getBeamParts(int index)
-    {
+    public List<CorridorPart> getBeamParts(int index) {
         return model.getBeamParts(index);
     }
 
-    public void addCorridorPart(int beamIndex, boolean append, double value)
-    {
+    public void addCorridorPart(int beamIndex, boolean append, double value) {
         model.addCorridorPart(beamIndex, append, value);
     }
 
-    public void setCorridorPartWidth(int beamIndex, int partIndex, double value)
-    {
+    public void setCorridorPartWidth(int beamIndex, int partIndex, double value) {
         model.setCorridorPartWidth(beamIndex, partIndex, value);
     }
 
-    public void setCorridorPartType(int beamIndex, int partIndex, CorridorPart.Type type)
-    {
+    public void setCorridorPartType(int beamIndex, int partIndex, CorridorPart.Type type) {
         model.setCorridorPartType(beamIndex, partIndex, type);
     }
 
-    public void setCorridorPartSide(int beamIndex, int partIndex, CorridorPart.ReachableSide side)
-    {
+    public void setCorridorPartSide(int beamIndex, int partIndex, CorridorPart.ReachableSide side) {
         model.setCorridorPartSide(beamIndex, partIndex, side);
     }
 
-    public Strip getStrip(int beamIndex)
-    {
+    public Strip getStrip(int beamIndex) {
         return model.getStrip(beamIndex);
     }
 
-    public IndoorSweeplineModel.Type getType()
-    {
+    public IndoorSweeplineModel.Type getType() {
         return model.getType();
     }
 
-    public void setType(IndoorSweeplineModel.Type type)
-    {
+    public void setType(IndoorSweeplineModel.Type type) {
         model.setType(type);
     }
 
-    public String getLevel()
-    {
+    public String getLevel() {
         return model.getLevel();
     }
 
-    public void setLevel(String level)
-    {
+    public void setLevel(String level) {
         model.setLevel(level);
     }
Index: applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/IndoorSweeplineModel.java
===================================================================
--- applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/IndoorSweeplineModel.java	(revision 32600)
+++ applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/IndoorSweeplineModel.java	(revision 32601)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package indoor_sweepline;
 
@@ -9,5 +10,4 @@
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
-
 
 /* TODO:
@@ -15,17 +15,11 @@
 - keyboard shortcuts
  */
-
-
-public class IndoorSweeplineModel
-{
-    public enum Type
-    {
+public class IndoorSweeplineModel {
+    public enum Type {
         CORRIDOR,
         PLATFORM
-    };
-
-
-    public IndoorSweeplineModel(OsmDataLayer activeLayer, LatLon center)
-    {
+    }
+
+    public IndoorSweeplineModel(OsmDataLayer activeLayer, LatLon center) {
         target = new ModelGeography(activeLayer.data, center);
 
@@ -41,10 +35,7 @@
     }
 
-
     private ModelGeography target;
 
-
-    public void addBeam()
-    {
+    public void addBeam() {
         CorridorPart.ReachableSide side = CorridorPart.ReachableSide.LEFT;
         if (beams.size() == 0)
@@ -52,23 +43,20 @@
 
         /*double width = 10.;
-	if (beams.size() > 0)
-	{
-	    width = 0;
-	    for (CorridorPart part : beams.elementAt(beams.size() - 1).getBeamParts())
-		width += part.width;
-	}
-
-	double offset = 0;
-	for (int i = 0; i < strips.size(); ++i)
-	    offset += strips.elementAt(i).width;*/
-
-        if (strips.size() == 0)
-        {
+        if (beams.size() > 0) {
+            width = 0;
+            for (CorridorPart part : beams.elementAt(beams.size() - 1).getBeamParts())
+                width += part.width;
+        }
+
+        double offset = 0;
+        for (int i = 0; i < strips.size(); ++i)
+            offset += strips.elementAt(i).width;*/
+
+        if (strips.size() == 0) {
             Vector<Double> blueprint = new Vector<>();
             blueprint.addElement(0.);
             blueprint.addElement(10.);
             beams.add(new Beam(blueprint, 0., side));
-        }
-        else
+        } else
             beams.add(new Beam(strips.elementAt(strips.size()-1).lhs,
                     beams.elementAt(beams.size()-1).getBeamOffset(), side));
@@ -80,10 +68,7 @@
     }
 
-
-    public void addStrip()
-    {
+    public void addStrip() {
         strips.add(new Strip(target.getDataSet()));
-        if (beams.size() > 1)
-        {
+        if (beams.size() > 1) {
             beams.elementAt(beams.size()-1).setDefaultSide(CorridorPart.ReachableSide.ALL);
             strips.elementAt(strips.size()-2).rhs = beams.elementAt(strips.size()-1).leftHandSideStrips();
@@ -94,17 +79,12 @@
     }
 
-
-    public int leftRightCount()
-    {
+    public int leftRightCount() {
         return beams.size() + strips.size();
     }
 
-
-    public DefaultComboBoxModel<String> structures()
-    {
+    public DefaultComboBoxModel<String> structures() {
         structureBox.removeAllElements();
         double offset = 0;
-        for (int i = 0; i < strips.size(); ++i)
-        {
+        for (int i = 0; i < strips.size(); ++i) {
             if (i < beams.size())
                 structureBox.addElement(Double.toString(offset));
@@ -119,45 +99,31 @@
     }
 
-
-    public Strip getStrip(int index)
-    {
+    public Strip getStrip(int index) {
         return strips.elementAt(index / 2);
     }
 
-
-    public double getStripWidth(int index)
-    {
+    public double getStripWidth(int index) {
         return strips.elementAt(index / 2).width;
     }
 
-
-    public void setStripWidth(int index, double value)
-    {
+    public void setStripWidth(int index, double value) {
         strips.elementAt(index / 2).width = value;
-
-        updateOsmModel();
-    }
-
-
-    public double getBeamOffset(int index)
-    {
+        updateOsmModel();
+    }
+
+    public double getBeamOffset(int index) {
         return beams.elementAt(index / 2).getBeamOffset();
     }
 
-    public void setBeamOffset(int index, double beamOffset)
-    {
+    public void setBeamOffset(int index, double beamOffset) {
         beams.elementAt(index / 2).setBeamOffset(beamOffset);
         updateOsmModel();
     }
 
-
-    public List<CorridorPart> getBeamParts(int index)
-    {
+    public List<CorridorPart> getBeamParts(int index) {
         return beams.elementAt(index / 2).getBeamParts();
     }
 
-
-    public void addCorridorPart(int beamIndex, boolean append, double value)
-    {
+    public void addCorridorPart(int beamIndex, boolean append, double value) {
         beams.elementAt(beamIndex / 2).addCorridorPart(append, value);
         if (beamIndex / 2 > 0)
@@ -169,7 +135,5 @@
     }
 
-
-    public void setCorridorPartWidth(int beamIndex, int partIndex, double value)
-    {
+    public void setCorridorPartWidth(int beamIndex, int partIndex, double value) {
         beams.elementAt(beamIndex / 2).setCorridorPartWidth(partIndex, value);
         if (beamIndex / 2 > 0)
@@ -181,9 +145,6 @@
     }
 
-
-    public void setCorridorPartType(int beamIndex, int partIndex, CorridorPart.Type type)
-    {
-        if (beamIndex % 2 == 0)
-        {
+    public void setCorridorPartType(int beamIndex, int partIndex, CorridorPart.Type type) {
+        if (beamIndex % 2 == 0) {
             beams.elementAt(beamIndex / 2).setCorridorPartType(partIndex, type);
             if (beamIndex / 2 > 0)
@@ -191,7 +152,5 @@
             if (beamIndex / 2 < strips.size())
                 strips.elementAt(beamIndex / 2).lhs = beams.elementAt(beamIndex / 2).rightHandSideStrips();
-        }
-        else
-        {
+        } else {
             if (type != CorridorPart.Type.PASSAGE && type != CorridorPart.Type.VOID)
                 strips.elementAt(beamIndex / 2).setCorridorPartType(partIndex, type);
@@ -201,7 +160,5 @@
     }
 
-
-    public void setCorridorPartSide(int beamIndex, int partIndex, CorridorPart.ReachableSide side)
-    {
+    public void setCorridorPartSide(int beamIndex, int partIndex, CorridorPart.ReachableSide side) {
         beams.elementAt(beamIndex / 2).setCorridorPartSide(partIndex, side);
         if (beamIndex / 2 > 0)
@@ -213,28 +170,21 @@
     }
 
-
-    public Type getType()
-    {
+    public Type getType() {
         return type;
     }
 
-    public void setType(Type type)
-    {
+    public void setType(Type type) {
         this.type = type;
         updateOsmModel();
     }
 
-
-    public String getLevel()
-    {
+    public String getLevel() {
         return level;
     }
 
-    public void setLevel(String level)
-    {
+    public void setLevel(String level) {
         this.level = level;
         updateOsmModel();
     }
-
 
     private Vector<Beam> beams;
@@ -245,22 +195,16 @@
     DefaultComboBoxModel<String> structureBox;
 
-
-    private void updateOsmModel()
-    {
+    private void updateOsmModel() {
         distributeWays();
         Main.map.mapView.repaint();
     }
 
-
-    public class SweepPolygonCursor
-    {
-        public SweepPolygonCursor(int stripIndex, int partIndex)
-        {
+    public class SweepPolygonCursor {
+        public SweepPolygonCursor(int stripIndex, int partIndex) {
             this.stripIndex = stripIndex;
             this.partIndex = partIndex;
         }
 
-        public boolean equals(SweepPolygonCursor rhs)
-        {
+        public boolean equals(SweepPolygonCursor rhs) {
             return rhs != null
                     && stripIndex == rhs.stripIndex && partIndex == rhs.partIndex;
@@ -271,12 +215,9 @@
     }
 
-
-    private void distributeWays()
-    {
+    private void distributeWays() {
         target.startGeographyBuild(beams, strips);
 
         Vector<Vector<Boolean>> stripRefs = new Vector<>();
-        for (Strip strip : strips)
-        {
+        for (Strip strip : strips) {
             Vector<Boolean> refs = new Vector<>();
             if (strip.lhs.size() < strip.rhs.size())
@@ -288,11 +229,8 @@
 
         Boolean truePtr = new Boolean(true);
-        for (int i = 0; i < stripRefs.size(); ++i)
-        {
+        for (int i = 0; i < stripRefs.size(); ++i) {
             Vector<Boolean> refs = stripRefs.elementAt(i);
-            for (int j = 0; j < refs.size(); ++j)
-            {
-                if (refs.elementAt(j) == null)
-                {
+            for (int j = 0; j < refs.size(); ++j) {
+                if (refs.elementAt(j) == null) {
                     target.startWay();
 
@@ -300,9 +238,7 @@
 
                     boolean toTheLeft = true;
-                    while (stripRefs.elementAt(cursor.stripIndex).elementAt(cursor.partIndex) == null)
-                    {
+                    while (stripRefs.elementAt(cursor.stripIndex).elementAt(cursor.partIndex) == null) {
                         stripRefs.elementAt(cursor.stripIndex).setElementAt(truePtr, cursor.partIndex);
-                        if (toTheLeft && cursor.partIndex < strips.elementAt(cursor.stripIndex).lhs.size())
-                        {
+                        if (toTheLeft && cursor.partIndex < strips.elementAt(cursor.stripIndex).lhs.size()) {
                             target.appendCorridorPart(
                                     strips.elementAt(cursor.stripIndex).partAt(cursor.partIndex),
@@ -313,7 +249,5 @@
                             toTheLeft = beams.elementAt(cursor.stripIndex).appendNodes(
                                     cursor, toTheLeft, target.beamAt(cursor.stripIndex), level);
-                        }
-                        else if (!toTheLeft && cursor.partIndex < strips.elementAt(cursor.stripIndex).rhs.size())
-                        {
+                        } else if (!toTheLeft && cursor.partIndex < strips.elementAt(cursor.stripIndex).rhs.size()) {
                             target.appendCorridorPart(
                                     strips.elementAt(cursor.stripIndex).partAt(cursor.partIndex),
@@ -324,6 +258,5 @@
                             toTheLeft = beams.elementAt(cursor.stripIndex + 1).appendNodes(
                                     cursor, toTheLeft, target.beamAt(cursor.stripIndex + 1), level);
-                        }
-                        else
+                        } else
                             toTheLeft = appendUturn(cursor, toTheLeft);
                     }
@@ -337,7 +270,5 @@
     }
 
-
-    private boolean appendUturn(SweepPolygonCursor cursor, boolean toTheLeft)
-    {
+    private boolean appendUturn(SweepPolygonCursor cursor, boolean toTheLeft) {
         Strip strip = strips.elementAt(cursor.stripIndex);
         target.appendUturnNode(strip, cursor.partIndex, cursor.stripIndex,
Index: applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/IndoorSweeplineWizardAction.java
===================================================================
--- applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/IndoorSweeplineWizardAction.java	(revision 32600)
+++ applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/IndoorSweeplineWizardAction.java	(revision 32601)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package indoor_sweepline;
 
@@ -19,9 +20,7 @@
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 
+public class IndoorSweeplineWizardAction extends JosmAction implements LayerChangeListener, ActiveLayerChangeListener {
 
-public class IndoorSweeplineWizardAction extends JosmAction implements LayerChangeListener, ActiveLayerChangeListener
-{
-    public IndoorSweeplineWizardAction()
-    {
+    public IndoorSweeplineWizardAction() {
         super(tr("Concourse wizard ..."), null,
                 tr("Opens up a wizard to create a concourse"), null, false);
@@ -30,6 +29,5 @@
 
     @Override
-    public void actionPerformed(ActionEvent event)
-    {
+    public void actionPerformed(ActionEvent event) {
         if (layer == null)
             JOptionPane.showMessageDialog(JOptionPane.getFrameForComponent(Main.parent),
@@ -45,27 +43,23 @@
                     "No map view found.");
         else
-            new IndoorSweeplineController((OsmDataLayer)layer,
+            new IndoorSweeplineController((OsmDataLayer) layer,
                     Projections.inverseProject(Main.map.mapView.getCenter()));
     }
 
     @Override
-    public void activeOrEditLayerChanged(ActiveLayerChangeEvent e)
-    {
+    public void activeOrEditLayerChanged(ActiveLayerChangeEvent e) {
         layer = Main.getLayerManager().getActiveLayer();
     }
 
     @Override
-    public void layerOrderChanged(LayerOrderChangeEvent e)
-    {
+    public void layerOrderChanged(LayerOrderChangeEvent e) {
     }
 
     @Override
-    public void layerAdded(LayerAddEvent e)
-    {
+    public void layerAdded(LayerAddEvent e) {
     }
 
     @Override
-    public void layerRemoving(LayerRemoveEvent e)
-    {
+    public void layerRemoving(LayerRemoveEvent e) {
         if (layer == e.getRemovedLayer())
             layer = null;
Index: applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/IndoorSweeplineWizardDialog.java
===================================================================
--- applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/IndoorSweeplineWizardDialog.java	(revision 32600)
+++ applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/IndoorSweeplineWizardDialog.java	(revision 32601)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package indoor_sweepline;
 
@@ -33,9 +34,7 @@
 import org.openstreetmap.josm.Main;
 
-
-public class IndoorSweeplineWizardDialog extends JDialog
-{
-    public IndoorSweeplineWizardDialog(IndoorSweeplineController controller)
-    {
+public class IndoorSweeplineWizardDialog extends JDialog {
+
+    public IndoorSweeplineWizardDialog(IndoorSweeplineController controller) {
         super(JOptionPane.getFrameForComponent(Main.parent), "Indoor Sweepline Wizard", false);
 
@@ -66,8 +65,6 @@
     }
 
-
     @Override
-    public void setVisible(boolean visible)
-    {
+    public void setVisible(boolean visible) {
         if (visible)
             setLocationRelativeTo(JOptionPane.getFrameForComponent(Main.parent));
@@ -75,7 +72,5 @@
     }
 
-
-    private void refresh()
-    {
+    private void refresh() {
         inRefresh = true;
 
@@ -86,35 +81,26 @@
         structureBoxModel.setSelectedItem(structureBoxModel.getElementAt(beamIndex));
 
-        try
-        {
-            if (beamIndex % 2 == 0)
-            {
+        try {
+            if (beamIndex % 2 == 0) {
                 widthOffsetLabel.setText("Offset into background:");
                 stripWidth.setText(Double.toString(controller.getBeamOffset(beamIndex)));
-            }
-            else
-            {
+            } else {
                 widthOffsetLabel.setText("Strip width:");
                 stripWidth.setText(Double.toString(controller.getStripWidth(beamIndex)));
             }
-        }
-        catch (IllegalStateException ex)
-        {
-        }
-
-        try
-        {
+        } catch (IllegalStateException ex) {
+            Main.trace(ex);
+        }
+
+        try {
             level.setText(controller.getLevel());
-        }
-        catch (IllegalStateException ex)
-        {
+        } catch (IllegalStateException ex) {
+            Main.trace(ex);
         }
 
         typeBoxModel.setSelectedItem(structureTypeToString(controller.getType()));
 
-
         structureTableModel.setRowCount(0);
-        if (beamIndex % 2 == 0)
-        {
+        if (beamIndex % 2 == 0) {
             Vector<Object> row = new Vector<>();
             row.addElement("");
@@ -124,6 +110,5 @@
 
             List<CorridorPart> parts = controller.getBeamParts(beamIndex);
-            for (CorridorPart part : parts)
-            {
+            for (CorridorPart part : parts) {
                 row = new Vector<>();
                 row.addElement(Double.toString(part.width));
@@ -138,10 +123,7 @@
             structureTableModel.addRow(row);
             structureTableModel.isBeam = true;
-        }
-        else
-        {
+        } else {
             Strip strip = controller.getStrip(beamIndex);
-            for (int i = 0; i < strip.lhs.size() || i < strip.rhs.size(); ++i)
-            {
+            for (int i = 0; i < strip.lhs.size() || i < strip.rhs.size(); ++i) {
                 Vector<Object> row = new Vector<>();
                 String position = i < strip.lhs.size() ? strip.lhs.elementAt(i).toString() : "X";
@@ -160,7 +142,5 @@
     }
 
-
-    private String corridorPartTypeToString(CorridorPart.Type type)
-    {
+    private String corridorPartTypeToString(CorridorPart.Type type) {
         if (type == CorridorPart.Type.VOID)
             return "void";
@@ -190,7 +170,5 @@
     }
 
-
-    private CorridorPart.Type parseCorridorPartType(String val)
-    {
+    private CorridorPart.Type parseCorridorPartType(String val) {
         if (val == "void")
             return CorridorPart.Type.VOID;
@@ -220,7 +198,5 @@
     }
 
-
-    private String corridorPartSideToString(CorridorPart.ReachableSide side)
-    {
+    private String corridorPartSideToString(CorridorPart.ReachableSide side) {
         if (side == CorridorPart.ReachableSide.ALL)
             return "all";
@@ -236,7 +212,5 @@
     }
 
-
-    private CorridorPart.ReachableSide parseCorridorPartSide(String val)
-    {
+    private CorridorPart.ReachableSide parseCorridorPartSide(String val) {
         if (val == "all")
             return CorridorPart.ReachableSide.ALL;
@@ -252,7 +226,5 @@
     }
 
-
-    private String structureTypeToString(IndoorSweeplineModel.Type type)
-    {
+    private String structureTypeToString(IndoorSweeplineModel.Type type) {
         if (type == IndoorSweeplineModel.Type.CORRIDOR)
             return "corridor";
@@ -262,12 +234,9 @@
     }
 
-
-    private JComboBox<String> structureBox()
-    {
+    private JComboBox<String> structureBox() {
         JComboBox<String> structureBox = new JComboBox<>(controller.structures());
         structureBox.addActionListener(new StructureBoxListener());
         return structureBox;
     }
-
 
     private IndoorSweeplineController controller;
@@ -279,9 +248,6 @@
     boolean inRefresh;
 
-
-    private JComboBox<String> typeBox()
-    {
-        if (typeBoxModel == null)
-        {
+    private JComboBox<String> typeBox() {
+        if (typeBoxModel == null) {
             typeBoxModel = new DefaultComboBoxModel<>();
             typeBoxModel.addElement("corridor");
@@ -295,15 +261,12 @@
     private DefaultComboBoxModel<String> typeBoxModel;
 
-
-    private class TypeBoxListener implements ActionListener
-    {
-        @Override
-        public void actionPerformed(ActionEvent e)
-        {
+    private class TypeBoxListener implements ActionListener {
+        @Override
+        public void actionPerformed(ActionEvent e) {
             if (inRefresh)
                 return;
 
             @SuppressWarnings("unchecked")
-            String entry = (String)((JComboBox<String>)e.getSource()).getSelectedItem();
+            String entry = (String) ((JComboBox<String>) e.getSource()).getSelectedItem();
             if (entry == "corridor")
                 controller.setType(IndoorSweeplineModel.Type.CORRIDOR);
@@ -315,15 +278,11 @@
     }
 
-
-    private class PrevAction extends AbstractAction
-    {
-        public PrevAction()
-        {
+    private class PrevAction extends AbstractAction {
+        PrevAction() {
             super("Prev");
         }
 
         @Override
-        public void actionPerformed(ActionEvent e)
-        {
+        public void actionPerformed(ActionEvent e) {
             if (inRefresh)
                 return;
@@ -335,15 +294,11 @@
     }
 
-
-    private class NextAction extends AbstractAction
-    {
-        public NextAction()
-        {
+    private class NextAction extends AbstractAction {
+        NextAction() {
             super("Next");
         }
 
         @Override
-        public void actionPerformed(ActionEvent e)
-        {
+        public void actionPerformed(ActionEvent e) {
             if (inRefresh)
                 return;
@@ -356,18 +311,14 @@
     }
 
-
-    private class StructureBoxListener implements ActionListener
-    {
-        @Override
-        public void actionPerformed(ActionEvent e)
-        {
+    private class StructureBoxListener implements ActionListener {
+        @Override
+        public void actionPerformed(ActionEvent e) {
             if (inRefresh)
                 return;
 
             @SuppressWarnings("unchecked")
-            String entry = (String)((JComboBox<String>)e.getSource()).getSelectedItem();
+            String entry = (String) ((JComboBox<String>) e.getSource()).getSelectedItem();
             DefaultComboBoxModel<String> structureBoxModel = controller.structures();
-            for (int i = 0; i < structureBoxModel.getSize(); ++i)
-            {
+            for (int i = 0; i < structureBoxModel.getSize(); ++i) {
                 if (structureBoxModel.getElementAt(i).equals(entry))
                     beamIndex = i;
@@ -377,18 +328,14 @@
     }
 
-
     private JLabel widthOffsetLabel;
 
-    private JLabel makeWidthLabel()
-    {
+    private JLabel makeWidthLabel() {
         widthOffsetLabel = new JLabel(tr("Offset into background:"));
         return widthOffsetLabel;
     }
 
-
     private JTextField stripWidth;
 
-    private JTextField makeWidthField()
-    {
+    private JTextField makeWidthField() {
         stripWidth = new JTextField(5);
         stripWidth.getDocument().addDocumentListener(new StripWidthListener());
@@ -396,51 +343,40 @@
     }
 
-
-    private class StripWidthListener implements DocumentListener
-    {
-        @Override
-        public void changedUpdate(DocumentEvent e)
-        {
+    private class StripWidthListener implements DocumentListener {
+        @Override
+        public void changedUpdate(DocumentEvent e) {
             update(e);
         }
 
         @Override
-        public void insertUpdate(DocumentEvent e)
-        {
+        public void insertUpdate(DocumentEvent e) {
             update(e);
         }
 
         @Override
-        public void removeUpdate(DocumentEvent e)
-        {
+        public void removeUpdate(DocumentEvent e) {
             update(e);
         }
 
-
-        private void update(DocumentEvent e)
-        {
-            if (inRefresh)
-                return;
-
-            try
-            {
+        private void update(DocumentEvent e) {
+            if (inRefresh)
+                return;
+
+            try {
                 if (beamIndex % 2 == 0)
                     controller.setBeamOffset(beamIndex, Double.parseDouble(stripWidth.getText()));
                 else
                     controller.setStripWidth(beamIndex, Double.parseDouble(stripWidth.getText()));
+            } catch (NumberFormatException ex) {
+                Main.trace(ex);
             }
-            catch (NumberFormatException ex)
-            {
-            }
-
-            refresh();
-        }
-    }
-
+
+            refresh();
+        }
+    }
 
     private JTextField level;
 
-    private JTextField makeLevelField()
-    {
+    private JTextField makeLevelField() {
         level = new JTextField(5);
         level.getDocument().addDocumentListener(new LevelFieldListener());
@@ -448,28 +384,21 @@
     }
 
-
-    private class LevelFieldListener implements DocumentListener
-    {
-        @Override
-        public void changedUpdate(DocumentEvent e)
-        {
+    private class LevelFieldListener implements DocumentListener {
+        @Override
+        public void changedUpdate(DocumentEvent e) {
             update(e);
         }
 
         @Override
-        public void insertUpdate(DocumentEvent e)
-        {
+        public void insertUpdate(DocumentEvent e) {
             update(e);
         }
 
         @Override
-        public void removeUpdate(DocumentEvent e)
-        {
+        public void removeUpdate(DocumentEvent e) {
             update(e);
         }
 
-
-        private void update(DocumentEvent e)
-        {
+        private void update(DocumentEvent e) {
             if (inRefresh)
                 return;
@@ -481,10 +410,7 @@
     }
 
-
-    private class StructureTableModel extends DefaultTableModel
-    {
-        @Override
-        public boolean isCellEditable(int row, int column)
-        {
+    private class StructureTableModel extends DefaultTableModel {
+        @Override
+        public boolean isCellEditable(int row, int column) {
             return isBeam || column == 1;
         }
@@ -495,6 +421,5 @@
     private StructureTableModel structureTableModel;
 
-    private JScrollPane makeStructureTable()
-    {
+    private JScrollPane makeStructureTable() {
         structureTableModel = new StructureTableModel();
         structureTableModel.addColumn("Width");
@@ -531,9 +456,7 @@
     }
 
-    private class StructureTableListener implements TableModelListener
-    {
-        @Override
-        public void tableChanged(TableModelEvent e)
-        {
+    private class StructureTableListener implements TableModelListener {
+        @Override
+        public void tableChanged(TableModelEvent e) {
             if (inRefresh)
                 return;
@@ -541,35 +464,26 @@
             int column = e.getColumn();
             int row = e.getFirstRow();
-            if (column == 0 && beamIndex % 2 == 0)
-            {
-                try
-                {
+            if (column == 0 && beamIndex % 2 == 0) {
+                try {
                     if (row == 0 || row == structureTableModel.getRowCount() - 1)
                         controller.addCorridorPart(beamIndex, row != 0,
-                        Double.parseDouble(((TableModel)e.getSource()).getValueAt(row, column).toString()));
+                        Double.parseDouble(((TableModel) e.getSource()).getValueAt(row, column).toString()));
                     else
                         controller.setCorridorPartWidth(beamIndex, row - 1,
-                                Double.parseDouble(((TableModel)e.getSource()).getValueAt(row, column).toString()));
+                                Double.parseDouble(((TableModel) e.getSource()).getValueAt(row, column).toString()));
+                } catch (NumberFormatException ex) {
+                    Main.trace(ex);
                 }
-                catch (NumberFormatException ex)
-                {
-                }
-            }
-            else if (column == 1 && beamIndex % 2 == 0)
-            {
+            } else if (column == 1 && beamIndex % 2 == 0) {
                 if (row > 0 && row < structureTableModel.getRowCount() - 1)
                     controller.setCorridorPartType(beamIndex, row - 1,
-                            parseCorridorPartType(((TableModel)e.getSource()).getValueAt(row, column).toString()));
-            }
-            else if (column == 1 && beamIndex % 2 == 1)
-            {
+                            parseCorridorPartType(((TableModel) e.getSource()).getValueAt(row, column).toString()));
+            } else if (column == 1 && beamIndex % 2 == 1) {
                 controller.setCorridorPartType(beamIndex, row,
-                        parseCorridorPartType(((TableModel)e.getSource()).getValueAt(row, column).toString()));
-            }
-            else if (column == 2 && beamIndex % 2 == 0)
-            {
+                        parseCorridorPartType(((TableModel) e.getSource()).getValueAt(row, column).toString()));
+            } else if (column == 2 && beamIndex % 2 == 0) {
                 if (row > 0 && row < structureTableModel.getRowCount() - 1)
                     controller.setCorridorPartSide(beamIndex, row - 1,
-                            parseCorridorPartSide(((TableModel)e.getSource()).getValueAt(row, column).toString()));
+                            parseCorridorPartSide(((TableModel) e.getSource()).getValueAt(row, column).toString()));
             }
 
@@ -578,9 +492,6 @@
     }
 
-
-    private class GridbagPanel extends JPanel
-    {
-        public GridbagPanel()
-        {
+    private class GridbagPanel extends JPanel {
+        GridbagPanel() {
             gridbag = new GridBagLayout();
             layoutCons = new GridBagConstraints();
@@ -588,6 +499,5 @@
         }
 
-        public void add(Component comp, int gridx, int gridy, int gridwidth, int gridheight)
-        {
+        public void add(Component comp, int gridx, int gridy, int gridwidth, int gridheight) {
             layoutCons.gridx = gridx;
             layoutCons.gridy = gridy;
Index: applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/ModelGeography.java
===================================================================
--- applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/ModelGeography.java	(revision 32600)
+++ applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/ModelGeography.java	(revision 32601)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package indoor_sweepline;
 
@@ -12,9 +13,7 @@
 import org.openstreetmap.josm.data.osm.Way;
 
-
-public class ModelGeography
-{
-    public ModelGeography(DataSet dataSet, LatLon center)
-    {
+public class ModelGeography {
+
+    public ModelGeography(DataSet dataSet, LatLon center) {
         beamsGeography = new Vector<>();
 
@@ -32,5 +31,4 @@
     }
 
-
     private Vector<BeamGeography> beamsGeography;
 
@@ -47,31 +45,22 @@
     private Vector<RelationMember> members;
 
-
-    public void appendNode(Node node)
-    {
+    public void appendNode(Node node) {
         nodes.add(node);
     }
 
-
-    public DataSet getDataSet()
-    {
+    public DataSet getDataSet() {
         return dataSet;
     }
 
-
-    public BeamGeography beamAt(int i)
-    {
+    public BeamGeography beamAt(int i) {
         return beamsGeography.elementAt(i);
     }
 
-
-    public void startGeographyBuild(Vector<Beam> beams, Vector<Strip> strips)
-    {
+    public void startGeographyBuild(Vector<Beam> beams, Vector<Strip> strips) {
         if (beamsGeography.size() < beams.size())
             beamsGeography.setSize(beams.size());
 
         double offset = 0;
-        for (int i = 0; i < beams.size(); ++i)
-        {
+        for (int i = 0; i < beams.size(); ++i) {
             if (beamsGeography.elementAt(i) == null)
                 beamsGeography.setElementAt(new BeamGeography(dataSet, this), i);
@@ -91,15 +80,10 @@
     }
 
-
-    public void startWay()
-    {
+    public void startWay() {
         nodes = new Vector<>();
     }
 
-
-    public void finishWay(Strip strip, int partIndex, boolean isOuter, String level)
-    {
-        if (nodes.size() > 0)
-        {
+    public void finishWay(Strip strip, int partIndex, boolean isOuter, String level) {
+        if (nodes.size() > 0) {
             CorridorPart part = strip.partAt(partIndex);
             strip.geographyAt(partIndex).appendNodes(part.getType(), part.getSide(), level,
@@ -112,8 +96,6 @@
     }
 
-
     public void appendCorridorPart(CorridorPart part, CorridorGeography partGeography, int beamIndex, int partIndex,
-            String level)
-    {
+            String level) {
         if (nodes.size() > 0)
             partGeography.appendNodes(part.getType(), part.getSide(), level,
@@ -122,8 +104,6 @@
     }
 
-
     public void appendUturnNode(Strip strip, int partIndex, int stripIndex, int beamNodeIndex, boolean toTheLeft,
-            String level)
-    {
+            String level) {
         if (toTheLeft)
             assignCoor(addMeterOffset(beamsGeography.elementAt(stripIndex + 1).coorAt(beamNodeIndex),
@@ -133,6 +113,5 @@
                     0, strip.width / 2.));
 
-        if (nodes.size() > 0)
-        {
+        if (nodes.size() > 0) {
             CorridorPart part = strip.partAt(partIndex);
             strip.geographyAt(partIndex).appendNodes(part.getType(), part.getSide(), level,
@@ -143,13 +122,13 @@
     }
 
-
-    public void finishGeographyBuild(IndoorSweeplineModel.Type type, String level)
-    {
-        for (int i = nodePoolCount; i < nodePool.size(); ++i)
+    public void finishGeographyBuild(IndoorSweeplineModel.Type type, String level) {
+        for (int i = nodePoolCount; i < nodePool.size(); ++i) {
             nodePool.elementAt(i).setDeleted(true);
+        }
         nodePool.setSize(nodePoolCount);
 
-        for (int i = wayPoolCount; i < wayPool.size(); ++i)
+        for (int i = wayPoolCount; i < wayPool.size(); ++i) {
             wayPool.elementAt(i).setDeleted(true);
+        }
         wayPool.setSize(wayPoolCount);
 
@@ -157,25 +136,18 @@
     }
 
-
-    private static LatLon addMeterOffset(LatLon latLon, double south, double east)
-    {
+    private static LatLon addMeterOffset(LatLon latLon, double south, double east) {
         double scale = Math.cos(latLon.lat() * (Math.PI/180.));
         return new LatLon(latLon.lat() - south *(360./4e7), latLon.lon() + east / scale *(360./4e7));
     }
 
-
-    private static double addMetersToLon(LatLon latLon, double east)
-    {
+    private static double addMetersToLon(LatLon latLon, double east) {
         double scale = Math.cos(latLon.lat() * (Math.PI/180.));
         return latLon.lon() + east / scale *(360./4e7);
     }
 
-
-    private void assignCoor(LatLon latLon)
-    {
+    private void assignCoor(LatLon latLon) {
         if (nodePoolCount < nodePool.size())
             nodePool.elementAt(nodePoolCount).setCoor(latLon);
-        else
-        {
+        else {
             Node node = new Node(latLon);
             dataSet.addPrimitive(node);
@@ -184,11 +156,8 @@
     }
 
-
-    private void assignNds(List<Node> nodes)
-    {
+    private void assignNds(List<Node> nodes) {
         if (wayPoolCount < wayPool.size())
             wayPool.elementAt(wayPoolCount).setNodes(nodes);
-        else
-        {
+        else {
             Way way = new Way();
             way.setNodes(nodes);
@@ -198,16 +167,11 @@
     }
 
-
-    private static void addPolygonTags(IndoorSweeplineModel.Type type, String level, OsmPrimitive obj)
-    {
-        if (type == IndoorSweeplineModel.Type.PLATFORM)
-        {
+    private static void addPolygonTags(IndoorSweeplineModel.Type type, String level, OsmPrimitive obj) {
+        if (type == IndoorSweeplineModel.Type.PLATFORM) {
             obj.put("railway", "platform");
             obj.put("public_transport", "platform");
             obj.put("area", "yes");
             obj.put("level", level);
-        }
-        else
-        {
+        } else {
             obj.put("highway", "pedestrian");
             obj.put("indoor", "corridor");
@@ -217,14 +181,10 @@
     }
 
-
-    private void adjustMultipolygonRelation(IndoorSweeplineModel.Type type, String level)
-    {
-        if (members.size() > 1)
-        {
+    private void adjustMultipolygonRelation(IndoorSweeplineModel.Type type, String level) {
+        if (members.size() > 1) {
             if (wayPool.size() > 0)
                 wayPool.elementAt(0).removeAll();
 
-            if (multipolygon == null)
-            {
+            if (multipolygon == null) {
                 multipolygon = new Relation();
                 dataSet.addPrimitive(multipolygon);
@@ -236,15 +196,11 @@
 
             multipolygon.setMembers(members);
-        }
-        else
-        {
-            if (multipolygon != null)
-            {
+        } else {
+            if (multipolygon != null) {
                 multipolygon.setDeleted(true);
                 multipolygon = null;
             }
 
-            if (wayPool.size() == 1)
-            {
+            if (wayPool.size() == 1) {
                 wayPool.elementAt(0).removeAll();
                 addPolygonTags(type, level, wayPool.elementAt(0));
Index: applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/Strip.java
===================================================================
--- applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/Strip.java	(revision 32600)
+++ applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/Strip.java	(revision 32601)
@@ -1,4 +1,4 @@
+// License: GPL. For details, see LICENSE file.
 package indoor_sweepline;
-
 
 import java.util.Vector;
@@ -6,9 +6,7 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 
+public class Strip {
 
-public class Strip
-{
-    public Strip(DataSet dataSet)
-    {
+    public Strip(DataSet dataSet) {
         width = 10.;
         parts = new Vector<>();
@@ -20,9 +18,6 @@
     }
 
-
-    public void setCorridorPartType(int partIndex, CorridorPart.Type type)
-    {
-        while (parts.size() <= partIndex)
-        {
+    public void setCorridorPartType(int partIndex, CorridorPart.Type type) {
+        while (parts.size() <= partIndex) {
             parts.add(new CorridorPart(0., CorridorPart.Type.WALL,
                     parts.size() % 2 == 0 ? CorridorPart.ReachableSide.FRONT :
@@ -33,9 +28,6 @@
     }
 
-
-    public CorridorPart partAt(int i)
-    {
-        while (parts.size() <= i)
-        {
+    public CorridorPart partAt(int i) {
+        while (parts.size() <= i) {
             parts.add(new CorridorPart(0., CorridorPart.Type.WALL,
                     parts.size() % 2 == 0 ? CorridorPart.ReachableSide.FRONT :
@@ -46,9 +38,6 @@
     }
 
-
-    public CorridorGeography geographyAt(int i)
-    {
-        while (parts.size() <= i)
-        {
+    public CorridorGeography geographyAt(int i) {
+        while (parts.size() <= i) {
             parts.add(new CorridorPart(0., CorridorPart.Type.WALL,
                     parts.size() % 2 == 0 ? CorridorPart.ReachableSide.FRONT :
@@ -58,5 +47,4 @@
         return partsGeography.elementAt(i);
     }
-
 
     public double width;
