Index: /trunk/src/org/openstreetmap/josm/actions/DownloadReferrersAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/DownloadReferrersAction.java	(revision 13558)
+++ /trunk/src/org/openstreetmap/josm/actions/DownloadReferrersAction.java	(revision 13559)
@@ -10,5 +10,5 @@
 
 import org.openstreetmap.josm.actions.downloadtasks.DownloadReferrersTask;
-import org.openstreetmap.josm.data.osm.DataSet.DownloadPolicy;
+import org.openstreetmap.josm.data.osm.DownloadPolicy;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.gui.MainApplication;
Index: /trunk/src/org/openstreetmap/josm/actions/UpdateModifiedAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/UpdateModifiedAction.java	(revision 13558)
+++ /trunk/src/org/openstreetmap/josm/actions/UpdateModifiedAction.java	(revision 13559)
@@ -11,5 +11,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.data.osm.DataSet.DownloadPolicy;
+import org.openstreetmap.josm.data.osm.DownloadPolicy;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.io.OnlineResource;
Index: /trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java	(revision 13558)
+++ /trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java	(revision 13559)
@@ -16,5 +16,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.data.osm.DataSet.DownloadPolicy;
+import org.openstreetmap.josm.data.osm.DownloadPolicy;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
Index: /trunk/src/org/openstreetmap/josm/actions/relation/AbstractRelationAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/relation/AbstractRelationAction.java	(revision 13558)
+++ /trunk/src/org/openstreetmap/josm/actions/relation/AbstractRelationAction.java	(revision 13559)
@@ -10,5 +10,5 @@
 import org.openstreetmap.josm.actions.OsmPrimitiveAction;
 import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.data.osm.DataSet.DownloadPolicy;
+import org.openstreetmap.josm.data.osm.DownloadPolicy;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Relation;
Index: /trunk/src/org/openstreetmap/josm/data/osm/DataSet.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/DataSet.java	(revision 13558)
+++ /trunk/src/org/openstreetmap/josm/data/osm/DataSet.java	(revision 13559)
@@ -107,109 +107,4 @@
 
     /**
-     * Download policy.
-     *
-     * Determines if download from the OSM server is intended, discouraged, or disabled / blocked.
-     * @see UploadPolicy
-     * @since 13453
-     */
-    public enum DownloadPolicy {
-        /**
-         * Normal dataset, download intended.
-         */
-        NORMAL("true"),
-        /**
-         * Download blocked.
-         * Download options completely disabled. Intended for private layers, see #8039.
-         */
-        BLOCKED("never");
-
-        final String xmlFlag;
-
-        DownloadPolicy(String xmlFlag) {
-            this.xmlFlag = xmlFlag;
-        }
-
-        /**
-         * Get the corresponding value of the <code>upload='...'</code> XML-attribute
-         * in the .osm file.
-         * @return value of the <code>download</code> attribute
-         */
-        public String getXmlFlag() {
-            return xmlFlag;
-        }
-
-        /**
-         * Returns the {@code DownloadPolicy} for the given <code>upload='...'</code> XML-attribute
-         * @param xmlFlag <code>download='...'</code> XML-attribute to convert
-         * @return {@code DownloadPolicy} value
-         * @throws IllegalArgumentException for invalid values
-         */
-        public static DownloadPolicy of(String xmlFlag) {
-            for (DownloadPolicy policy : values()) {
-                if (policy.getXmlFlag().equalsIgnoreCase(xmlFlag)) {
-                    return policy;
-                }
-            }
-            throw new IllegalArgumentException(xmlFlag);
-        }
-    }
-
-    /**
-     * Upload policy.
-     *
-     * Determines if upload to the OSM server is intended, discouraged, or disabled / blocked.
-     * @see DownloadPolicy
-     */
-    public enum UploadPolicy {
-        /**
-         * Normal dataset, upload intended.
-         */
-        NORMAL("true"),
-        /**
-         * Upload discouraged, for example when using or distributing a private dataset.
-         */
-        DISCOURAGED("false"),
-        /**
-         * Upload blocked.
-         * Upload options completely disabled. Intended for special cases
-         * where a warning dialog is not enough, see #12731.
-         *
-         * For the user, it shouldn't be too easy to disable this flag.
-         */
-        BLOCKED("never");
-
-        final String xmlFlag;
-
-        UploadPolicy(String xmlFlag) {
-            this.xmlFlag = xmlFlag;
-        }
-
-        /**
-         * Get the corresponding value of the <code>upload='...'</code> XML-attribute
-         * in the .osm file.
-         * @return value of the <code>upload</code> attribute
-         */
-        public String getXmlFlag() {
-            return xmlFlag;
-        }
-
-        /**
-         * Returns the {@code UploadPolicy} for the given <code>upload='...'</code> XML-attribute
-         * @param xmlFlag <code>upload='...'</code> XML-attribute to convert
-         * @return {@code UploadPolicy} value
-         * @throws IllegalArgumentException for invalid values
-         * @since 13434
-         */
-        public static UploadPolicy of(String xmlFlag) {
-            for (UploadPolicy policy : values()) {
-                if (policy.getXmlFlag().equalsIgnoreCase(xmlFlag)) {
-                    return policy;
-                }
-            }
-            throw new IllegalArgumentException(xmlFlag);
-        }
-    }
-
-    /**
      * Maximum number of events that can be fired between beginUpdate/endUpdate to be send as single events (ie without DatasetChangedEvent)
      */
Index: /trunk/src/org/openstreetmap/josm/data/osm/DownloadPolicy.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/DownloadPolicy.java	(revision 13559)
+++ /trunk/src/org/openstreetmap/josm/data/osm/DownloadPolicy.java	(revision 13559)
@@ -0,0 +1,51 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.data.osm;
+
+/**
+ * Download policy.
+ *
+ * Determines if download from the OSM server is intended, discouraged, or disabled / blocked.
+ * @see UploadPolicy
+ * @since 13559 (extracted from {@link DataSet})
+ */
+public enum DownloadPolicy {
+    /**
+     * Normal dataset, download intended.
+     */
+    NORMAL("true"),
+    /**
+     * Download blocked.
+     * Download options completely disabled. Intended for private layers, see #8039.
+     */
+    BLOCKED("never");
+
+    final String xmlFlag;
+
+    DownloadPolicy(String xmlFlag) {
+        this.xmlFlag = xmlFlag;
+    }
+
+    /**
+     * Get the corresponding value of the <code>upload='...'</code> XML-attribute
+     * in the .osm file.
+     * @return value of the <code>download</code> attribute
+     */
+    public String getXmlFlag() {
+        return xmlFlag;
+    }
+
+    /**
+     * Returns the {@code DownloadPolicy} for the given <code>upload='...'</code> XML-attribute
+     * @param xmlFlag <code>download='...'</code> XML-attribute to convert
+     * @return {@code DownloadPolicy} value
+     * @throws IllegalArgumentException for invalid values
+     */
+    public static DownloadPolicy of(String xmlFlag) {
+        for (DownloadPolicy policy : values()) {
+            if (policy.getXmlFlag().equalsIgnoreCase(xmlFlag)) {
+                return policy;
+            }
+        }
+        throw new IllegalArgumentException(xmlFlag);
+    }
+}
Index: /trunk/src/org/openstreetmap/josm/data/osm/UploadPolicy.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/UploadPolicy.java	(revision 13559)
+++ /trunk/src/org/openstreetmap/josm/data/osm/UploadPolicy.java	(revision 13559)
@@ -0,0 +1,58 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.data.osm;
+
+/**
+ * Upload policy.
+ *
+ * Determines if upload to the OSM server is intended, discouraged, or disabled / blocked.
+ * @see DownloadPolicy
+ * @since 13559 (extracted from {@link DataSet})
+ */
+public enum UploadPolicy {
+    /**
+     * Normal dataset, upload intended.
+     */
+    NORMAL("true"),
+    /**
+     * Upload discouraged, for example when using or distributing a private dataset.
+     */
+    DISCOURAGED("false"),
+    /**
+     * Upload blocked.
+     * Upload options completely disabled. Intended for special cases
+     * where a warning dialog is not enough, see #12731.
+     *
+     * For the user, it shouldn't be too easy to disable this flag.
+     */
+    BLOCKED("never");
+
+    final String xmlFlag;
+
+    UploadPolicy(String xmlFlag) {
+        this.xmlFlag = xmlFlag;
+    }
+
+    /**
+     * Get the corresponding value of the <code>upload='...'</code> XML-attribute in the .osm file.
+     * @return value of the <code>upload</code> attribute
+     */
+    public String getXmlFlag() {
+        return xmlFlag;
+    }
+
+    /**
+     * Returns the {@code UploadPolicy} for the given <code>upload='...'</code> XML-attribute
+     * @param xmlFlag <code>upload='...'</code> XML-attribute to convert
+     * @return {@code UploadPolicy} value
+     * @throws IllegalArgumentException for invalid values
+     * @since 13434
+     */
+    public static UploadPolicy of(String xmlFlag) {
+        for (UploadPolicy policy : values()) {
+            if (policy.getXmlFlag().equalsIgnoreCase(xmlFlag)) {
+                return policy;
+            }
+        }
+        throw new IllegalArgumentException(xmlFlag);
+    }
+}
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowserModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowserModel.java	(revision 13558)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowserModel.java	(revision 13559)
@@ -8,5 +8,5 @@
 
 import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.data.osm.DataSet.DownloadPolicy;
+import org.openstreetmap.josm.data.osm.DownloadPolicy;
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.RelationMember;
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AbstractRelationEditorAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AbstractRelationEditorAction.java	(revision 13558)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AbstractRelationEditorAction.java	(revision 13559)
@@ -10,5 +10,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.data.osm.DataSet.DownloadPolicy;
+import org.openstreetmap.josm.data.osm.DownloadPolicy;
 import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
 import org.openstreetmap.josm.gui.dialogs.relation.MemberTable;
Index: /trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 13558)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 13559)
@@ -64,6 +64,6 @@
 import org.openstreetmap.josm.data.osm.DataSelectionListener;
 import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.data.osm.DataSet.DownloadPolicy;
-import org.openstreetmap.josm.data.osm.DataSet.UploadPolicy;
+import org.openstreetmap.josm.data.osm.DownloadPolicy;
+import org.openstreetmap.josm.data.osm.UploadPolicy;
 import org.openstreetmap.josm.data.osm.DataSetMerger;
 import org.openstreetmap.josm.data.osm.DatasetConsistencyTest;
Index: /trunk/src/org/openstreetmap/josm/io/OsmReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OsmReader.java	(revision 13558)
+++ /trunk/src/org/openstreetmap/josm/io/OsmReader.java	(revision 13559)
@@ -28,6 +28,6 @@
 import org.openstreetmap.josm.data.osm.Changeset;
 import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.data.osm.DataSet.DownloadPolicy;
-import org.openstreetmap.josm.data.osm.DataSet.UploadPolicy;
+import org.openstreetmap.josm.data.osm.DownloadPolicy;
+import org.openstreetmap.josm.data.osm.UploadPolicy;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.NodeData;
Index: /trunk/src/org/openstreetmap/josm/io/OsmWriter.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OsmWriter.java	(revision 13558)
+++ /trunk/src/org/openstreetmap/josm/io/OsmWriter.java	(revision 13559)
@@ -18,6 +18,6 @@
 import org.openstreetmap.josm.data.osm.Changeset;
 import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.data.osm.DataSet.DownloadPolicy;
-import org.openstreetmap.josm.data.osm.DataSet.UploadPolicy;
+import org.openstreetmap.josm.data.osm.DownloadPolicy;
+import org.openstreetmap.josm.data.osm.UploadPolicy;
 import org.openstreetmap.josm.data.osm.INode;
 import org.openstreetmap.josm.data.osm.IPrimitive;
Index: /trunk/src/org/openstreetmap/josm/tools/RightAndLefthandTraffic.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/RightAndLefthandTraffic.java	(revision 13558)
+++ /trunk/src/org/openstreetmap/josm/tools/RightAndLefthandTraffic.java	(revision 13559)
@@ -24,6 +24,6 @@
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.data.osm.DataSet.DownloadPolicy;
-import org.openstreetmap.josm.data.osm.DataSet.UploadPolicy;
+import org.openstreetmap.josm.data.osm.DownloadPolicy;
+import org.openstreetmap.josm.data.osm.UploadPolicy;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Relation;
Index: /trunk/test/unit/org/openstreetmap/josm/data/osm/DataSetTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/data/osm/DataSetTest.java	(revision 13558)
+++ /trunk/test/unit/org/openstreetmap/josm/data/osm/DataSetTest.java	(revision 13559)
@@ -15,6 +15,6 @@
 import org.junit.Test;
 import org.openstreetmap.josm.data.coor.LatLon;
-import org.openstreetmap.josm.data.osm.DataSet.DownloadPolicy;
-import org.openstreetmap.josm.data.osm.DataSet.UploadPolicy;
+import org.openstreetmap.josm.data.osm.DownloadPolicy;
+import org.openstreetmap.josm.data.osm.UploadPolicy;
 import org.openstreetmap.josm.testutils.JOSMTestRules;
 
Index: /trunk/test/unit/org/openstreetmap/josm/io/OsmWriterTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/io/OsmWriterTest.java	(revision 13558)
+++ /trunk/test/unit/org/openstreetmap/josm/io/OsmWriterTest.java	(revision 13559)
@@ -14,6 +14,6 @@
 
 import org.junit.Test;
-import org.openstreetmap.josm.data.osm.DataSet.DownloadPolicy;
-import org.openstreetmap.josm.data.osm.DataSet.UploadPolicy;
+import org.openstreetmap.josm.data.osm.DownloadPolicy;
+import org.openstreetmap.josm.data.osm.UploadPolicy;
 import org.openstreetmap.josm.data.osm.NodeData;
 
