Index: /applications/editors/josm/plugins/pbf/build.xml
===================================================================
--- /applications/editors/josm/plugins/pbf/build.xml	(revision 33240)
+++ /applications/editors/josm/plugins/pbf/build.xml	(revision 33241)
@@ -3,5 +3,5 @@
 
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="11626"/>
+    <property name="plugin.main.version" value="11919"/>
 
     <property name="plugin.author" value="Don-vip"/>
Index: /applications/editors/josm/plugins/pbf/src/org/openstreetmap/josm/plugins/pbf/PbfPlugin.java
===================================================================
--- /applications/editors/josm/plugins/pbf/src/org/openstreetmap/josm/plugins/pbf/PbfPlugin.java	(revision 33240)
+++ /applications/editors/josm/plugins/pbf/src/org/openstreetmap/josm/plugins/pbf/PbfPlugin.java	(revision 33241)
@@ -4,4 +4,6 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.ExtensionFileFilter;
+import org.openstreetmap.josm.io.OverpassDownloadReader;
+import org.openstreetmap.josm.io.OverpassDownloadReader.OverpassOutpoutFormat;
 import org.openstreetmap.josm.plugins.Plugin;
 import org.openstreetmap.josm.plugins.PluginInformation;
@@ -9,4 +11,5 @@
 import org.openstreetmap.josm.plugins.pbf.io.PbfExporter;
 import org.openstreetmap.josm.plugins.pbf.io.PbfImporter;
+import org.openstreetmap.josm.plugins.pbf.io.PbfReader;
 
 /**
@@ -28,4 +31,6 @@
         // Allow JOSM to download remote *.osm.pbf files
         Main.main.menu.openLocation.addDownloadTaskClass(DownloadPbfTask.class);
+        // Alow JOSM to download PBF data from Overpass API
+        OverpassDownloadReader.registerOverpassOutpoutFormatReader(OverpassOutpoutFormat.PBF, PbfReader.class);
     }
 }
Index: /applications/editors/josm/plugins/pbf/src/org/openstreetmap/josm/plugins/pbf/io/PbfReader.java
===================================================================
--- /applications/editors/josm/plugins/pbf/src/org/openstreetmap/josm/plugins/pbf/io/PbfReader.java	(revision 33240)
+++ /applications/editors/josm/plugins/pbf/src/org/openstreetmap/josm/plugins/pbf/io/PbfReader.java	(revision 33241)
@@ -18,4 +18,5 @@
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.DataSet;
+import org.openstreetmap.josm.data.osm.DataSet.UploadPolicy;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
@@ -276,5 +277,5 @@
             }
             if (discourageUpload)
-                ds.setUploadDiscouraged(true);
+                ds.setUploadPolicy(UploadPolicy.DISCOURAGED);
         }
 
@@ -295,5 +296,5 @@
         public void complete() {
             if (discourageUpload)
-                ds.setUploadDiscouraged(true);
+                ds.setUploadPolicy(UploadPolicy.DISCOURAGED);
         }
     }
@@ -314,18 +315,21 @@
         ProgressMonitor monitor = progressMonitor == null ? NullProgressMonitor.INSTANCE : progressMonitor;
         CheckParameterUtil.ensureParameterNotNull(source, "source");
-
-        PbfReader reader = new PbfReader();
-
+        return new PbfReader().doParseDataSet(source, monitor);
+    }
+
+    @Override
+    protected DataSet doParseDataSet(InputStream source, ProgressMonitor monitor)
+            throws IllegalDataException {
         try {
             monitor.beginTask(tr("Prepare OSM data...", 2));
             monitor.indeterminateSubTask(tr("Reading OSM data..."));
 
-            reader.parse(source);
+            parse(source);
             monitor.worked(1);
 
             monitor.indeterminateSubTask(tr("Preparing data set..."));
-            reader.prepareDataSet();
+            prepareDataSet();
             monitor.worked(1);
-            return reader.getDataSet();
+            return getDataSet();
         } catch (IllegalDataException e) {
             throw e;
