Index: /trunk/src/org/openstreetmap/josm/actions/mapmode/ImproveWayAccuracyAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/mapmode/ImproveWayAccuracyAction.java	(revision 10046)
+++ /trunk/src/org/openstreetmap/josm/actions/mapmode/ImproveWayAccuracyAction.java	(revision 10047)
@@ -94,5 +94,5 @@
         @Override
         public void paint(Graphics2D g, MapView mv, Bounds bbox) {
-            ImproveWayAccuracyAction.this.paint(g, mv, bbox);;
+            ImproveWayAccuracyAction.this.paint(g, mv, bbox);
         }
     };
Index: /trunk/src/org/openstreetmap/josm/gui/preferences/advanced/ListEditor.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/advanced/ListEditor.java	(revision 10046)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/advanced/ListEditor.java	(revision 10047)
@@ -28,5 +28,5 @@
 public class ListEditor extends AbstractListEditor<String> {
 
-    private final List<String> data;
+    private final ListSettingTableModel model;
 
     /**
@@ -38,10 +38,5 @@
     public ListEditor(final JComponent gui, PrefEntry entry, ListSetting setting) {
         super(gui, tr("Change list setting"), entry);
-        List<String> orig = setting.getValue();
-        if (orig != null) {
-            data = new ArrayList<>(orig);
-        } else {
-            data = new ArrayList<>();
-        }
+        model = new ListSettingTableModel(setting.getValue());
         setContent(build(), false);
     }
@@ -49,5 +44,5 @@
     @Override
     public List<String> getData() {
-        return new ArrayList<>(Utils.filter(data, new Predicate<String>() {
+        return new ArrayList<>(Utils.filter(model.getData(), new Predicate<String>() {
             @Override
             public boolean evaluate(String object) {
@@ -61,6 +56,5 @@
         JPanel p = new JPanel(new GridBagLayout());
         p.add(new JLabel(tr("Key: {0}", entry.getKey())), GBC.eol().insets(0, 0, 5, 0));
-        ListSettingTableModel listModel = new ListSettingTableModel();
-        JTable table = new JTable(listModel);
+        JTable table = new JTable(model);
         table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
         table.setTableHeader(null);
@@ -75,5 +69,15 @@
     }
 
-    class ListSettingTableModel extends AbstractTableModel {
+    static class ListSettingTableModel extends AbstractTableModel {
+
+        private final List<String> data;
+
+        ListSettingTableModel(List<String> orig) {
+            if (orig != null) {
+                data = new ArrayList<>(orig);
+            } else {
+                data = new ArrayList<>();
+            }
+        }
 
         public List<String> getData() {
Index: /trunk/test/unit/org/openstreetmap/josm/actions/downloadtasks/DownloadReferrersTaskTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/actions/downloadtasks/DownloadReferrersTaskTest.java	(revision 10047)
+++ /trunk/test/unit/org/openstreetmap/josm/actions/downloadtasks/DownloadReferrersTaskTest.java	(revision 10047)
@@ -0,0 +1,53 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.actions.downloadtasks;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.data.coor.LatLon;
+import org.openstreetmap.josm.data.osm.DataSet;
+import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
+import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+
+/**
+ * Unit tests for class {@link DownloadReferrersTask}.
+ */
+public class DownloadReferrersTaskTest {
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void setUp() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+
+    /**
+     * Unit test of {@code DownloadReferrersTask#DownloadReferrersTask}.
+     */
+    @Test
+    public void testDownloadReferrersTask() {
+        DataSet ds = new DataSet();
+        Node n1 = (Node) OsmPrimitiveType.NODE.newInstance(-1, true);
+        n1.setCoor(LatLon.ZERO);
+        Node n2 = new Node(1);
+        n2.setCoor(LatLon.ZERO);
+        ds.addPrimitive(n1);
+        ds.addPrimitive(n2);
+        OsmDataLayer layer = new OsmDataLayer(new DataSet(), "", null);
+        assertNotNull(new DownloadReferrersTask(layer, null));
+        assertNotNull(new DownloadReferrersTask(layer, ds.allPrimitives()));
+        try {
+            new DownloadReferrersTask(layer, n1.getPrimitiveId(), null);
+            fail();
+        } catch (IllegalArgumentException e) {
+            assertEquals("Cannot download referrers for new primitives (ID -1)", e.getMessage());
+        }
+        assertNotNull(new DownloadReferrersTask(layer, n2.getPrimitiveId(), null));
+    }
+}
Index: /trunk/test/unit/org/openstreetmap/josm/actions/downloadtasks/DownloadTaskListTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/actions/downloadtasks/DownloadTaskListTest.java	(revision 10047)
+++ /trunk/test/unit/org/openstreetmap/josm/actions/downloadtasks/DownloadTaskListTest.java	(revision 10047)
@@ -0,0 +1,30 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.actions.downloadtasks;
+
+import static org.junit.Assert.assertTrue;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+
+/**
+ * Unit tests for class {@link DownloadTaskList}.
+ */
+public class DownloadTaskListTest {
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void setUp() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+
+    /**
+     * Unit test of {@code DownloadTaskList#DownloadTaskList}.
+     */
+    @Test
+    public void testDownloadTaskList() {
+        assertTrue(new DownloadTaskList().getDownloadedPrimitives().isEmpty());
+    }
+}
Index: /trunk/test/unit/org/openstreetmap/josm/gui/preferences/advanced/ListEditorTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/preferences/advanced/ListEditorTest.java	(revision 10047)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/preferences/advanced/ListEditorTest.java	(revision 10047)
@@ -0,0 +1,48 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.preferences.advanced;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Arrays;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.preferences.advanced.ListEditor.ListSettingTableModel;
+
+/**
+ * Unit tests of {@link ListEditor} class.
+ */
+public class ListEditorTest {
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void setUpBeforeClass() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+
+    /**
+     * Unit test of {@link ListSettingTableModel} class.
+     */
+    @Test
+    public void testListSettingTableModel()  {
+        ListSettingTableModel model = new ListSettingTableModel(null);
+        assertNotNull(model.getData());
+        model = new ListSettingTableModel(Arrays.asList("foo"));
+        assertTrue(model.getData().contains("foo"));
+        assertEquals(2, model.getRowCount());
+        assertEquals(1, model.getColumnCount());
+        assertEquals("foo", model.getValueAt(0, 0));
+        assertEquals("", model.getValueAt(1, 0));
+        assertTrue(model.isCellEditable(0, 0));
+        model.setValueAt("bar", 0, 0);
+        assertEquals("bar", model.getValueAt(0, 0));
+        model.setValueAt("test", 1, 0);
+        assertEquals("test", model.getValueAt(1, 0));
+        assertEquals(3, model.getRowCount());
+    }
+}
