Index: /trunk/src/org/openstreetmap/josm/data/osm/BBox.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/BBox.java	(revision 15876)
+++ /trunk/src/org/openstreetmap/josm/data/osm/BBox.java	(revision 15877)
@@ -179,4 +179,17 @@
 
     /**
+     * Extends this bbox to include the bbox of the primitive extended by extraSpace.
+     * @param latLon a LatLon
+     * @param extraSpace the value to extend the primitives bbox. Unit is in LatLon degrees.
+     * @since 15877
+     */
+    public void addLatLon(LatLon latLon, double extraSpace) {
+        Objects.requireNonNull(latLon, "LatLon cannot be null");
+        add(latLon);
+        add(latLon.getX() - extraSpace, latLon.getY() - extraSpace);
+        add(latLon.getX() + extraSpace, latLon.getY() + extraSpace);
+    }
+
+    /**
      * Gets the height of the bbox.
      * @return The difference between ymax and ymin. 0 for invalid bboxes.
Index: /trunk/test/unit/org/openstreetmap/josm/data/osm/BBoxTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/data/osm/BBoxTest.java	(revision 15876)
+++ /trunk/test/unit/org/openstreetmap/josm/data/osm/BBoxTest.java	(revision 15877)
@@ -127,4 +127,16 @@
 
     /**
+     * Unit test of {@link BBox#addLatLon} method.
+     */
+    @Test
+    public void testAddLatLonBuffer() {
+        BBox b = new BBox();
+        b.addLatLon(LatLon.NORTH_POLE, 0.5);
+        assertEquals(LatLon.NORTH_POLE, b.getCenter());
+        assertEquals(new LatLon(90.5, -0.5), b.getTopLeft());
+        assertEquals(new LatLon(89.5, +0.5), b.getBottomRight());
+    }
+
+    /**
      * Unit test of {@link BBox#add(double, double)} method.
      */
