Index: applications/editors/josm/plugins/DirectUpload/build.xml
===================================================================
--- applications/editors/josm/plugins/DirectUpload/build.xml	(revision 33851)
+++ applications/editors/josm/plugins/DirectUpload/build.xml	(revision 33852)
@@ -5,5 +5,5 @@
     <property name="commit.message" value="applied JOSM Ticket 4498 (patch by ax) - oauth support for gpx upload (I accidentally committed parts of the path in [24236])"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="10580"/>
+    <property name="plugin.main.version" value="12840"/>
 
     <!-- Configure these properties (replace "..." accordingly).
Index: applications/editors/josm/plugins/DirectUpload/src/org/openstreetmap/josm/plugins/DirectUpload/UploadDataGui.java
===================================================================
--- applications/editors/josm/plugins/DirectUpload/src/org/openstreetmap/josm/plugins/DirectUpload/UploadDataGui.java	(revision 33851)
+++ applications/editors/josm/plugins/DirectUpload/src/org/openstreetmap/josm/plugins/DirectUpload/UploadDataGui.java	(revision 33852)
@@ -32,4 +32,5 @@
 import org.openstreetmap.josm.data.gpx.GpxTrack;
 import org.openstreetmap.josm.gui.ExtendedDialog;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
@@ -140,5 +141,5 @@
         descriptionField.setToolTipText(tr("Please enter Description about your trace."));
 
-        List<String> descHistory = new LinkedList<>(Main.pref.getCollection("directupload.description.history", new LinkedList<String>()));
+        List<String> descHistory = new LinkedList<>(Main.pref.getList("directupload.description.history", new LinkedList<String>()));
         // we have to reverse the history, because ComboBoxHistory will reverse it again in addElement()
         // XXX this should be handled in HistoryComboBox
@@ -151,5 +152,5 @@
         tagsField.setToolTipText(tr("Please enter tags about your trace."));
 
-        List<String> tagsHistory = new LinkedList<>(Main.pref.getCollection("directupload.tags.history", new LinkedList<String>()));
+        List<String> tagsHistory = new LinkedList<>(Main.pref.getList("directupload.tags.history", new LinkedList<String>()));
         // we have to reverse the history, because ComboBoxHistory will reverse it againin addElement()
         // XXX this should be handled in HistoryComboBox
@@ -422,8 +423,8 @@
 
         descriptionField.addCurrentItemToHistory();
-        Main.pref.putCollection("directupload.description.history", descriptionField.getHistory());
+        Main.pref.putList("directupload.description.history", descriptionField.getHistory());
 
         tagsField.addCurrentItemToHistory();
-        Main.pref.putCollection("directupload.tags.history", tagsField.getHistory());
+        Main.pref.putList("directupload.tags.history", tagsField.getHistory());
 
         PleaseWaitRunnable uploadTask = new PleaseWaitRunnable(tr("Uploading GPX Track")){
@@ -442,5 +443,5 @@
         };
 
-        Main.worker.execute(uploadTask);
+        MainApplication.worker.execute(uploadTask);
     }
 
Index: applications/editors/josm/plugins/DirectUpload/src/org/openstreetmap/josm/plugins/DirectUpload/UploadDataGuiPlugin.java
===================================================================
--- applications/editors/josm/plugins/DirectUpload/src/org/openstreetmap/josm/plugins/DirectUpload/UploadDataGuiPlugin.java	(revision 33851)
+++ applications/editors/josm/plugins/DirectUpload/src/org/openstreetmap/josm/plugins/DirectUpload/UploadDataGuiPlugin.java	(revision 33852)
@@ -12,6 +12,6 @@
 import java.awt.event.KeyEvent;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MainMenu;
 import org.openstreetmap.josm.plugins.Plugin;
@@ -30,8 +30,8 @@
         super(info);
         openaction = new UploadAction();
-        MainMenu.add(Main.main.menu.gpsMenu, openaction);
+        MainMenu.add(MainApplication.getMenu().gpsMenu, openaction);
     }
 
-    class UploadAction extends JosmAction {
+    static class UploadAction extends JosmAction {
         
         public UploadAction(){
@@ -41,4 +41,5 @@
         }
         
+        @Override
         public void actionPerformed(ActionEvent e) {
             UploadDataGui go = new UploadDataGui();
Index: applications/editors/josm/plugins/DirectUpload/src/org/openstreetmap/josm/plugins/DirectUpload/UploadOsmConnection.java
===================================================================
--- applications/editors/josm/plugins/DirectUpload/src/org/openstreetmap/josm/plugins/DirectUpload/UploadOsmConnection.java	(revision 33851)
+++ applications/editors/josm/plugins/DirectUpload/src/org/openstreetmap/josm/plugins/DirectUpload/UploadOsmConnection.java	(revision 33852)
@@ -7,5 +7,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.gpx.GpxData;
-import org.openstreetmap.josm.gui.MapView;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
 import org.openstreetmap.josm.gui.layer.GpxLayer;
@@ -49,6 +49,6 @@
      */
     GpxData autoSelectTrace() {
-        if (Main.map != null && Main.map.mapView != null) {
-            MainLayerManager lm = Main.getLayerManager();
+        if (MainApplication.getMap() != null && MainApplication.getMap().mapView != null) {
+            MainLayerManager lm = MainApplication.getLayerManager();
 //            List<Layer> allLayers = new ArrayList<Layer>(mv.getAllLayersAsList());  // modifiable
             List<Layer> selectedLayers = LayerListDialog.getInstance().getModel().getSelectedLayers();
