Index: applications/editors/josm/plugins/DirectDownload/src/org/openstreetmap/josm/plugins/directdownload/DirectDownload.java
===================================================================
--- applications/editors/josm/plugins/DirectDownload/src/org/openstreetmap/josm/plugins/directdownload/DirectDownload.java	(revision 34481)
+++ applications/editors/josm/plugins/DirectDownload/src/org/openstreetmap/josm/plugins/directdownload/DirectDownload.java	(revision 34483)
@@ -8,10 +8,8 @@
 import java.util.HashMap;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
+import org.openstreetmap.josm.data.gpx.GpxConstants;
 import org.openstreetmap.josm.data.gpx.GpxData;
 import org.openstreetmap.josm.data.gpx.GpxTrack;
-import org.openstreetmap.josm.data.gpx.GpxTrackSegment;
-import org.openstreetmap.josm.data.gpx.GpxConstants;
 import org.openstreetmap.josm.data.gpx.ImmutableGpxTrack;
 import org.openstreetmap.josm.gui.MainApplication;
@@ -21,4 +19,5 @@
 import org.openstreetmap.josm.plugins.Plugin;
 import org.openstreetmap.josm.plugins.PluginInformation;
+import org.openstreetmap.josm.spi.preferences.Config;
 
 public class DirectDownload extends Plugin {
@@ -63,5 +62,5 @@
 
                 for (GpxTrack trk : data.getTracks()) {
-                    HashMap<String, Object> attrib = new HashMap<String, Object>(trk.getAttributes());
+                    HashMap<String, Object> attrib = new HashMap<>(trk.getAttributes());
                     if (!trk.getAttributes().containsKey(GpxConstants.GPX_NAME)) {
                         System.out.println(track.filename);
@@ -74,5 +73,5 @@
                     // replace the existing trace in the unmodifiable tracks
                     data.removeTrack(trk);
-                    trk = new ImmutableGpxTrack(new ArrayList<GpxTrackSegment>(trk.getSegments()), attrib);
+                    trk = new ImmutableGpxTrack(new ArrayList<>(trk.getSegments()), attrib);
                     data.addTrack(trk);
                 }
@@ -84,5 +83,5 @@
                 }
 
-                if (Main.pref.getBoolean("marker.makeautomarkers", true) && !data.waypoints.isEmpty()) {
+                if (Config.getPref().getBoolean("marker.makeautomarkers", true) && !data.waypoints.isEmpty()) {
                     MarkerLayer ml = new MarkerLayer(data, tr("Markers from {0}", track.filename), null, gpxLayer);
                     if (ml.data.size() > 0) {
Index: applications/editors/josm/plugins/DirectDownload/src/org/openstreetmap/josm/plugins/directdownload/DownloadDataGui.java
===================================================================
--- applications/editors/josm/plugins/DirectDownload/src/org/openstreetmap/josm/plugins/directdownload/DownloadDataGui.java	(revision 34481)
+++ applications/editors/josm/plugins/DirectDownload/src/org/openstreetmap/josm/plugins/directdownload/DownloadDataGui.java	(revision 34483)
@@ -23,6 +23,6 @@
 import javax.swing.table.TableColumn;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.ExtendedDialog;
+import org.openstreetmap.josm.gui.MainApplication;
 
 public class DownloadDataGui extends ExtendedDialog {
@@ -34,5 +34,5 @@
     public DownloadDataGui() {
         // Initalizes ExtendedDialog
-        super(Main.parent,
+        super(MainApplication.getMainFrame(),
           tr("Download Track"),
           new String[] {tr("Download Track"), tr("Cancel")},
Index: applications/editors/josm/plugins/DirectDownload/src/org/openstreetmap/josm/plugins/directdownload/GpxServerReader.java
===================================================================
--- applications/editors/josm/plugins/DirectDownload/src/org/openstreetmap/josm/plugins/directdownload/GpxServerReader.java	(revision 34481)
+++ applications/editors/josm/plugins/DirectDownload/src/org/openstreetmap/josm/plugins/directdownload/GpxServerReader.java	(revision 34483)
@@ -10,6 +10,6 @@
 import javax.swing.JOptionPane;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.gpx.GpxData;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.io.GpxReader;
 import org.openstreetmap.josm.io.OsmApi;
@@ -33,5 +33,5 @@
                 boolean parsedProperly = r.parse(true);
                 if (!parsedProperly) {
-                    JOptionPane.showMessageDialog(Main.parent,
+                    JOptionPane.showMessageDialog(MainApplication.getMainFrame(),
                             tr("Error occurred while parsing gpx file {0}. Only a part of the file will be available.", urlString));
                 }
@@ -40,9 +40,9 @@
         } catch (IOException | OsmTransferException e) {
             Logging.warn(e);
-            JOptionPane.showMessageDialog(Main.parent, tr("Error fetching URL {0}", urlString));
+            JOptionPane.showMessageDialog(MainApplication.getMainFrame(), tr("Error fetching URL {0}", urlString));
             return null;
         } catch (SAXException e) {
             Logging.warn(e);
-            JOptionPane.showMessageDialog(Main.parent, tr("Error parsing data from URL {0}", urlString));
+            JOptionPane.showMessageDialog(MainApplication.getMainFrame(), tr("Error parsing data from URL {0}", urlString));
             return null;
         }
