Index: applications/editors/josm/plugins/terracer/src/terracer/HouseNumberInputDialog.java
===================================================================
--- applications/editors/josm/plugins/terracer/src/terracer/HouseNumberInputDialog.java	(revision 33077)
+++ applications/editors/josm/plugins/terracer/src/terracer/HouseNumberInputDialog.java	(revision 33579)
@@ -28,8 +28,9 @@
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.ExtendedDialog;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox;
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionListItem;
+import org.openstreetmap.josm.gui.util.WindowGeometry;
 import org.openstreetmap.josm.tools.GBC;
-import org.openstreetmap.josm.tools.WindowGeometry;
 
 /**
@@ -310,5 +311,6 @@
 
         if (buildingComboBox == null) {
-            final List<AutoCompletionListItem> values = Main.getLayerManager().getEditDataSet().getAutoCompletionManager().getValues("building");
+            final List<AutoCompletionListItem> values = MainApplication
+                .getLayerManager().getEditDataSet().getAutoCompletionManager().getValues("building");
 
             buildingComboBox = new AutoCompletingComboBox();
@@ -362,5 +364,5 @@
     TreeSet<String> createAutoCompletionInfo() {
         final TreeSet<String> names = new TreeSet<>();
-        for (OsmPrimitive osm : Main.getLayerManager().getEditDataSet()
+        for (OsmPrimitive osm : MainApplication.getLayerManager().getEditDataSet()
                 .allNonDeletedPrimitives()) {
             if (osm.getKeys() != null && osm.keySet().contains("highway")
Index: applications/editors/josm/plugins/terracer/src/terracer/HouseNumberInputHandler.java
===================================================================
--- applications/editors/josm/plugins/terracer/src/terracer/HouseNumberInputHandler.java	(revision 33077)
+++ applications/editors/josm/plugins/terracer/src/terracer/HouseNumberInputHandler.java	(revision 33579)
@@ -26,4 +26,5 @@
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox;
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionListItem;
+import org.openstreetmap.josm.tools.Logging;
 import org.openstreetmap.josm.tools.UserCancelException;
 
@@ -300,5 +301,5 @@
                             doKeepOutline(), buildingType());
                     } catch (UserCancelException ex) {
-                        Main.trace(ex);
+                        Logging.trace(ex);
                     }
 
Index: applications/editors/josm/plugins/terracer/src/terracer/ReverseTerraceAction.java
===================================================================
--- applications/editors/josm/plugins/terracer/src/terracer/ReverseTerraceAction.java	(revision 33077)
+++ applications/editors/josm/plugins/terracer/src/terracer/ReverseTerraceAction.java	(revision 33579)
@@ -21,4 +21,5 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -48,9 +49,9 @@
     /**
      * Breadth-first searches based on the selection while the selection is a way
-     * with a building=* tag and then applies the addr:housenumber tag in reverse
-     * order.
+     * with a building=* tag and then applies the addr:housenumber tag in reverse order.
      */
+    @Override
     public void actionPerformed(ActionEvent e) {
-        Collection<Way> selectedWays = Main.getLayerManager().getEditDataSet().getSelectedWays();
+        Collection<Way> selectedWays = MainApplication.getLayerManager().getEditDataSet().getSelectedWays();
 
         // Set to keep track of all the nodes that have been visited - that is: if
@@ -123,6 +124,6 @@
         }
 
-        Main.main.undoRedo.add(new SequenceCommand(tr("Reverse Terrace"), commands));
-        Main.getLayerManager().getEditDataSet().setSelected(orderedWays);
+        MainApplication.undoRedo.add(new SequenceCommand(tr("Reverse Terrace"), commands));
+        MainApplication.getLayerManager().getEditDataSet().setSelected(orderedWays);
     }
 
Index: applications/editors/josm/plugins/terracer/src/terracer/TerracerAction.java
===================================================================
--- applications/editors/josm/plugins/terracer/src/terracer/TerracerAction.java	(revision 33077)
+++ applications/editors/josm/plugins/terracer/src/terracer/TerracerAction.java	(revision 33579)
@@ -38,5 +38,7 @@
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.ExtendedDialog;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.conflict.tags.CombinePrimitiveResolverDialog;
+import org.openstreetmap.josm.tools.Logging;
 import org.openstreetmap.josm.tools.Pair;
 import org.openstreetmap.josm.tools.Shortcut;
@@ -178,5 +180,5 @@
 
         } catch (InvalidUserInputException ex) {
-            Main.warn("Terracer: "+ex.getMessage());
+            Logging.warn("Terracer: "+ex.getMessage());
             new ExtendedDialog(Main.parent, tr("Invalid selection"), new String[] {"OK"})
                 .setButtonIcons(new String[] {"ok"}).setIcon(JOptionPane.INFORMATION_MESSAGE)
@@ -191,5 +193,5 @@
 
         // Try to find an associatedStreet relation that could be reused from housenumbers, outline and street.
-        Set<OsmPrimitive> candidates = new HashSet<OsmPrimitive>(housenumbers);
+        Set<OsmPrimitive> candidates = new HashSet<>(housenumbers);
         candidates.add(outline);
         if (street != null) {
@@ -203,5 +205,5 @@
             if (associatedStreets.size() > 1) {
                 // TODO: Deal with multiple associated Streets
-                Main.warn("Terracer: Found "+associatedStreets.size()+" associatedStreet relations. Considering the first one only.");
+                Logging.warn("Terracer: Found "+associatedStreets.size()+" associatedStreet relations. Considering the first one only.");
             }
         }
@@ -218,5 +220,5 @@
                         housenumbers, streetname, associatedStreet != null, false, "yes");
             } catch (UserCancelException ex) {
-                Main.trace(ex);
+                Logging.trace(ex);
             } finally {
                 this.commands.clear();
@@ -245,5 +247,5 @@
      *            number nodes
      */
-    class HousenumberNodeComparator implements Comparator<Node> {
+    static class HousenumberNodeComparator implements Comparator<Node> {
         private final Pattern pat = Pattern.compile("^(\\d+)\\s*(.*)");
 
@@ -402,5 +404,5 @@
                 }
                 if (!nodesToDelete.isEmpty())
-                    this.commands.add(DeleteCommand.delete(Main.getLayerManager().getEditLayer(), nodesToDelete));
+                    this.commands.add(DeleteCommand.delete(MainApplication.getLayerManager().getEditLayer(), nodesToDelete));
             }
         } else {
@@ -413,5 +415,5 @@
         // Or should removing them also be an option?
         if (!housenumbers.isEmpty()) {
-            commands.add(DeleteCommand.delete(Main.getLayerManager().getEditLayer(),
+            commands.add(DeleteCommand.delete(MainApplication.getLayerManager().getEditLayer(),
                     housenumbers, true, true));
         }
@@ -425,11 +427,11 @@
         }
 
-        Main.main.undoRedo.add(createTerracingCommand(outline));
+        MainApplication.undoRedo.add(createTerracingCommand(outline));
         if (nb <= 1 && street != null) {
             // Select the way (for quick selection of a new house (with the same way))
-            Main.getLayerManager().getEditDataSet().setSelected(street);
+            MainApplication.getLayerManager().getEditDataSet().setSelected(street);
         } else {
             // Select the new building outlines (for quick reversing)
-            Main.getLayerManager().getEditDataSet().setSelected(ways);
+            MainApplication.getLayerManager().getEditDataSet().setSelected(ways);
         }
     }
@@ -488,5 +490,5 @@
                         }
                     } catch (UserCancelException e) {
-                        Main.trace(e);
+                        Logging.trace(e);
                     }
                 }
Index: applications/editors/josm/plugins/terracer/src/terracer/TerracerPlugin.java
===================================================================
--- applications/editors/josm/plugins/terracer/src/terracer/TerracerPlugin.java	(revision 33077)
+++ applications/editors/josm/plugins/terracer/src/terracer/TerracerPlugin.java	(revision 33579)
@@ -2,5 +2,5 @@
 package terracer;
 
-import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MainMenu;
 import org.openstreetmap.josm.plugins.Plugin;
@@ -16,6 +16,6 @@
         super(info);
 
-        MainMenu.add(Main.main.menu.moreToolsMenu, new TerracerAction());
-        MainMenu.add(Main.main.menu.moreToolsMenu, new ReverseTerraceAction());
+        MainMenu.add(MainApplication.getMenu().moreToolsMenu, new TerracerAction());
+        MainMenu.add(MainApplication.getMenu().moreToolsMenu, new ReverseTerraceAction());
     }
 }
