Index: trunk/src/org/openstreetmap/josm/actions/AbstractInfoAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AbstractInfoAction.java	(revision 18013)
+++ trunk/src/org/openstreetmap/josm/actions/AbstractInfoAction.java	(revision 18014)
@@ -51,15 +51,4 @@
             String toolbarId, boolean installAdapters) {
         super(name, iconName, tooltip, shortcut, register, toolbarId, installAdapters);
-    }
-
-    /**
-     * Asks user confirmation before launching a large number of browser windows.
-     * @param numBrowsers the number of browser windows to open
-     * @return {@code true} if the user confirms, {@code false} otherwise
-     * @deprecated use {@link OpenBrowserAction#confirmLaunchMultiple(int)}
-     */
-    @Deprecated
-    public static boolean confirmLaunchMultiple(int numBrowsers) {
-        return OpenBrowserAction.confirmLaunchMultiple(numBrowsers);
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/OpenFileAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/OpenFileAction.java	(revision 18013)
+++ trunk/src/org/openstreetmap/josm/actions/OpenFileAction.java	(revision 18014)
@@ -83,5 +83,5 @@
         File[] files = fc.getSelectedFiles();
         OpenFileTask task = new OpenFileTask(Arrays.asList(files), fc.getFileFilter());
-        task.setRecordHistory(true);
+        task.setOptions(Options.RECORD_HISTORY);
         MainApplication.worker.submit(task);
     }
@@ -101,18 +101,4 @@
     public static Future<?> openFiles(List<File> fileList) {
         return openFiles(fileList, (Options[]) null);
-    }
-
-    /**
-     * Open a list of files. The complete list will be passed to batch importers.
-     * @param fileList A list of files
-     * @param recordHistory {@code true} to save filename in history (default: false)
-     * @return the future task
-     * @since 11986 (return task)
-     * @deprecated Since 17534, use {@link OpenFileAction#openFiles(List, Options...)} with {@link Options#RECORD_HISTORY} instead.
-     */
-    @Deprecated
-    public static Future<?> openFiles(List<File> fileList, boolean recordHistory) {
-        Options[] options = recordHistory ? new Options[] {Options.RECORD_HISTORY} : null;
-        return openFiles(fileList, options);
     }
 
@@ -181,18 +167,4 @@
         public OpenFileTask(List<File> files, FileFilter fileFilter) {
             this(files, fileFilter, tr("Opening files"));
-        }
-
-        /**
-         * Sets whether to save filename in history (for list of recently opened files).
-         * @param recordHistory {@code true} to save filename in history (default: false)
-         * @deprecated since 17534 (use {@link #setOptions} instead).
-         */
-        @Deprecated
-        public void setRecordHistory(boolean recordHistory) {
-            if (recordHistory) {
-                this.options.add(Options.RECORD_HISTORY);
-            } else {
-                this.options.remove(Options.RECORD_HISTORY);
-            }
         }
 
Index: trunk/src/org/openstreetmap/josm/actions/SimplifyWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SimplifyWayAction.java	(revision 18013)
+++ trunk/src/org/openstreetmap/josm/actions/SimplifyWayAction.java	(revision 18014)
@@ -325,31 +325,4 @@
      * @param w the way to simplify
      * @return The sequence of commands to run
-     * @since 6411
-     * @deprecated Replaced by {@link #createSimplifyCommand(Way)}. You can also use {@link #simplifyWays(List, double)} directly.
-     */
-    @Deprecated
-    public final SequenceCommand simplifyWay(Way w) {
-        return createSimplifyCommand(w);
-    }
-
-    /**
-     * Creates the SequenceCommand to simplify a way with a given threshold.
-     *
-     * @param w the way to simplify
-     * @param threshold the max error threshold
-     * @return The sequence of commands to run
-     * @since 6411
-     * @deprecated Replaced by {@link #createSimplifyCommand(Way, double)}. You can also use {@link #simplifyWays(List, double)} directly.
-     */
-    @Deprecated
-    public static SequenceCommand simplifyWay(Way w, double threshold) {
-        return createSimplifyCommand(w, threshold);
-    }
-
-    /**
-     * Creates the SequenceCommand to simplify a way with default threshold.
-     *
-     * @param w the way to simplify
-     * @return The sequence of commands to run
      * @since 15419
      */
Index: trunk/src/org/openstreetmap/josm/data/conflict/ConflictCollection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/conflict/ConflictCollection.java	(revision 18013)
+++ trunk/src/org/openstreetmap/josm/data/conflict/ConflictCollection.java	(revision 18014)
@@ -138,15 +138,4 @@
 
     /**
-     * removes the conflict registered for {@link OsmPrimitive} <code>my</code> if any
-     *
-     * @param my  the primitive
-     * @deprecated use {@link #removeForMy(OsmPrimitive)}
-     */
-    @Deprecated
-    public void remove(OsmPrimitive my) {
-        removeForMy(my);
-    }
-
-    /**
      * Replies the conflict for the {@link OsmPrimitive} <code>my</code>, null
      * if no such conflict exists.
Index: trunk/src/org/openstreetmap/josm/data/gpx/GpxImageEntry.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/gpx/GpxImageEntry.java	(revision 18013)
+++ trunk/src/org/openstreetmap/josm/data/gpx/GpxImageEntry.java	(revision 18014)
@@ -228,14 +228,5 @@
      * Returns EXIF time
      * @return EXIF time
-     * @deprecated Use {@link #getExifInstant}
-     */
-    @Deprecated
-    public Date getExifTime() {
-        return getDefensiveDate(exifTime);
-    }
-
-    /**
-     * Returns EXIF time
-     * @return EXIF time
+     * @since 17715
      */
     public Instant getExifInstant() {
@@ -266,4 +257,5 @@
      * Returns the EXIF GPS time.
      * @return the EXIF GPS time
+     * @since 17715
      */
     public Instant getExifGpsInstant() {
@@ -365,9 +357,8 @@
      * Sets EXIF time.
      * @param exifTime EXIF time
-     * @deprecated Use {@link #setExifTime(Instant)}
-     */
-    @Deprecated
-    public void setExifTime(Date exifTime) {
-        this.exifTime = exifTime == null ? null : exifTime.toInstant();
+     * @since 17715
+     */
+    public void setExifTime(Instant exifTime) {
+        this.exifTime = exifTime;
     }
 
@@ -375,10 +366,8 @@
      * Sets the EXIF GPS time.
      * @param exifGpsTime the EXIF GPS time
-     * @since 6392
-     * @deprecated Use {@link #setExifGpsTime(Instant)}
-     */
-    @Deprecated
-    public void setExifGpsTime(Date exifGpsTime) {
-        this.exifGpsTime = exifGpsTime == null ? null : exifGpsTime.toInstant();
+     * @since 17715
+     */
+    public void setExifGpsTime(Instant exifGpsTime) {
+        this.exifGpsTime = exifGpsTime;
     }
 
@@ -386,30 +375,5 @@
      * Sets the GPS time.
      * @param gpsTime the GPS time
-     * @deprecated Use {@link #setGpsTime(Instant)}
-     */
-    @Deprecated
-    public void setGpsTime(Date gpsTime) {
-        this.gpsTime = gpsTime == null ? null : gpsTime.toInstant();
-    }
-
-    /**
-     * Sets EXIF time.
-     * @param exifTime EXIF time
-     */
-    public void setExifTime(Instant exifTime) {
-        this.exifTime = exifTime;
-    }
-
-    /**
-     * Sets the EXIF GPS time.
-     * @param exifGpsTime the EXIF GPS time
-     */
-    public void setExifGpsTime(Instant exifGpsTime) {
-        this.exifGpsTime = exifGpsTime;
-    }
-
-    /**
-     * Sets the GPS time.
-     * @param gpsTime the GPS time
+     * @since 17715
      */
     public void setGpsTime(Instant gpsTime) {
Index: trunk/src/org/openstreetmap/josm/data/gpx/GpxTrack.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/gpx/GpxTrack.java	(revision 18013)
+++ trunk/src/org/openstreetmap/josm/data/gpx/GpxTrack.java	(revision 18014)
@@ -245,25 +245,3 @@
         colorCache = null;
     }
-
-    /**
-     * A listener that listens to GPX track changes.
-     * @deprecated use {@link IGpxTrack.GpxTrackChangeListener} instead
-     */
-    @Deprecated
-    @FunctionalInterface
-    interface GpxTrackChangeListener {
-        void gpxDataChanged(GpxTrackChangeEvent e);
-    }
-
-    /**
-     * A track change event for the current track.
-     * @deprecated use {@link IGpxTrack.GpxTrackChangeEvent} instead
-     */
-    @Deprecated
-    static class GpxTrackChangeEvent extends IGpxTrack.GpxTrackChangeEvent {
-        GpxTrackChangeEvent(IGpxTrack source) {
-            super(source);
-        }
-    }
-
 }
Index: trunk/src/org/openstreetmap/josm/data/gpx/ImmutableGpxTrackSegment.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/gpx/ImmutableGpxTrackSegment.java	(revision 18013)
+++ 	(revision )
@@ -1,20 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.data.gpx;
-
-import java.util.Collection;
-
-/**
- * A gpx track segment consisting of multiple waypoints, that cannot be changed.
- * @deprecated Use {@link GpxTrackSegment} instead!
- */
-@Deprecated
-public class ImmutableGpxTrackSegment extends GpxTrackSegment {
-
-    /**
-     * Constructs a new {@code ImmutableGpxTrackSegment}.
-     * @param wayPoints list of waypoints
-     */
-    public ImmutableGpxTrackSegment(Collection<WayPoint> wayPoints) {
-        super(wayPoints);
-    }
-}
Index: trunk/src/org/openstreetmap/josm/data/gpx/WayPoint.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/gpx/WayPoint.java	(revision 18013)
+++ trunk/src/org/openstreetmap/josm/data/gpx/WayPoint.java	(revision 18014)
@@ -134,16 +134,4 @@
      * Sets the {@link #PT_TIME} attribute to the specified time.
      *
-     * @param time the time to set
-     * @since 9383
-     * @deprecated Use {@link #setInstant(Instant)}
-     */
-    @Deprecated
-    public void setTime(Date time) {
-        setInstant(time.toInstant());
-    }
-
-    /**
-     * Sets the {@link #PT_TIME} attribute to the specified time.
-     *
      * @param ts seconds from the epoch
      * @since 13210
Index: trunk/src/org/openstreetmap/josm/data/osm/PrimitiveData.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/PrimitiveData.java	(revision 18013)
+++ trunk/src/org/openstreetmap/josm/data/osm/PrimitiveData.java	(revision 18014)
@@ -7,9 +7,7 @@
 import java.io.Serializable;
 import java.util.Arrays;
-import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 import org.openstreetmap.josm.data.osm.visitor.PrimitiveVisitor;
@@ -79,17 +77,4 @@
         builder.append(id).append(' ').append(Arrays.toString(keys)).append(' ').append(getFlagsAsString());
         return builder.toString();
-    }
-
-    /**
-     * Returns a filtered list for a given primitive type.
-     * @param <T> primitive type
-     * @param list list to filter
-     * @param type primitive type
-     * @return a filtered list for given primitive type
-     * @deprecated Use {@link Collection#stream()} instead
-     */
-    @Deprecated
-    public static <T extends PrimitiveData> List<T> getFilteredList(Collection<T> list, OsmPrimitiveType type) {
-        return list.stream().filter(p -> type.getDataClass().isInstance(p)).collect(Collectors.toList());
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/download/OSMDownloadSource.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/download/OSMDownloadSource.java	(revision 18013)
+++ trunk/src/org/openstreetmap/josm/gui/download/OSMDownloadSource.java	(revision 18014)
@@ -318,37 +318,4 @@
         }
 
-        /**
-         * Replies true if the user selected to download OSM data
-         *
-         * @return true if the user selected to download OSM data
-         * @deprecated since 16503 -- use {@code getDownloadType(OsmDataDownloadType.class).getCheckBox().isSelected()}
-         */
-        @Deprecated
-        public boolean isDownloadOsmData() {
-            return getDownloadType(OsmDataDownloadType.class).getCheckBox().isSelected();
-        }
-
-        /**
-         * Replies true if the user selected to download GPX data
-         *
-         * @return true if the user selected to download GPX data
-         * @deprecated since 16503 -- use {@code getDownloadType(GpsDataDownloadType.class).getCheckBox().isSelected()}
-         */
-        @Deprecated
-        public boolean isDownloadGpxData() {
-            return getDownloadType(GpsDataDownloadType.class).getCheckBox().isSelected();
-        }
-
-        /**
-         * Replies true if user selected to download notes
-         *
-         * @return true if user selected to download notes
-         * @deprecated since 16503 -- use {@code getDownloadType(NotesDataDownloadType.class).getCheckBox().isSelected()}
-         */
-        @Deprecated
-        public boolean isDownloadNotes() {
-            return getDownloadType(NotesDataDownloadType.class).getCheckBox().isSelected();
-        }
-
         @Override
         public Icon getIcon() {
Index: trunk/src/org/openstreetmap/josm/gui/io/importexport/JpgImporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/importexport/JpgImporter.java	(revision 18013)
+++ 	(revision )
@@ -1,26 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.gui.io.importexport;
-
-/**
-*  File importer allowing to import geotagged images
-*  @deprecated use {@link ImageImporter} instead
-*/
-@Deprecated
-public class JpgImporter extends ImageImporter {
-
-    /**
-    * Constructs a new {@code JpgImporter}.
-    */
-    public JpgImporter() {
-        super(false);
-    }
-
-    /**
-    * Constructs a new {@code JpgImporter} with folders selection, if wanted.
-    * @param includeFolders If true, includes folders in the file filter
-    * @since 5438
-    */
-    public JpgImporter(boolean includeFolders) {
-        super(includeFolders);
-    }
-}
Index: trunk/src/org/openstreetmap/josm/io/OnlineResource.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OnlineResource.java	(revision 18013)
+++ trunk/src/org/openstreetmap/josm/io/OnlineResource.java	(revision 18014)
@@ -39,5 +39,5 @@
         return locName;
     }
-    
+
     /**
      * Replies the offline icon.
@@ -83,17 +83,3 @@
         return url.startsWith(baseUrl.substring(baseUrl.indexOf("://")), url.indexOf("://"));
     }
-
-    /**
-     * Ensures resource is not accessed in offline mode.
-     * @param downloadString The attempted download string
-     * @param ignore ignored
-     * @throws OfflineAccessException if resource is accessed in offline mode, in any protocol
-     * @deprecated use {@link NetworkManager#isOffline(String)}
-     */
-    @Deprecated
-    public final void checkOfflineAccess(String downloadString, String ignore) {
-        if (NetworkManager.isOffline(downloadString)) {
-            throw OfflineAccessException.forResource(downloadString);
-        }
-    }
 }
Index: trunk/src/org/openstreetmap/josm/tools/ExifReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/ExifReader.java	(revision 18013)
+++ trunk/src/org/openstreetmap/josm/tools/ExifReader.java	(revision 18014)
@@ -7,5 +7,4 @@
 import java.time.DateTimeException;
 import java.time.Instant;
-import java.util.Date;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
@@ -43,16 +42,4 @@
      * @param filename The JPEG file to read
      * @return The date/time read in the EXIF section, or {@code null} if not found
-     * @deprecated Use {@link #readInstant(File)}
-     */
-    @Deprecated
-    public static Date readTime(File filename) {
-        Instant instant = readInstant(filename);
-        return instant == null ? null : Date.from(instant);
-    }
-
-    /**
-     * Returns the date/time from the given JPEG file.
-     * @param filename The JPEG file to read
-     * @return The date/time read in the EXIF section, or {@code null} if not found
      */
     public static Instant readInstant(File filename) {
@@ -64,17 +51,4 @@
         }
         return null;
-    }
-
-    /**
-     * Returns the date/time from the given JPEG file.
-     * @param metadata The EXIF metadata
-     * @return The date/time read in the EXIF section, or {@code null} if not found
-     * @since 11745
-     * @deprecated Use {@link #readInstant(Metadata)}
-     */
-    @Deprecated
-    public static Date readTime(Metadata metadata) {
-        Instant instant = readInstant(metadata);
-        return instant == null ? null : Date.from(instant);
     }
 
Index: trunk/src/org/openstreetmap/josm/tools/ImageProvider.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 18013)
+++ trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 18014)
@@ -20,6 +20,6 @@
 import java.awt.image.ImageFilter;
 import java.awt.image.ImageProducer;
+import java.awt.image.RGBImageFilter;
 import java.awt.image.RenderedImage;
-import java.awt.image.RGBImageFilter;
 import java.awt.image.WritableRaster;
 import java.io.ByteArrayInputStream;
@@ -586,28 +586,4 @@
 
     /**
-     * Add an additional class loader to search image for.
-     * @param additionalClassLoader class loader to add to the internal set
-     * @return {@code true} if the set changed as a result of the call
-     * @since 12870
-     * @deprecated Use ResourceProvider#addAdditionalClassLoader
-     */
-    @Deprecated
-    public static boolean addAdditionalClassLoader(ClassLoader additionalClassLoader) {
-        return ResourceProvider.addAdditionalClassLoader(additionalClassLoader);
-    }
-
-    /**
-     * Add a collection of additional class loaders to search image for.
-     * @param additionalClassLoaders class loaders to add to the internal set
-     * @return {@code true} if the set changed as a result of the call
-     * @since 12870
-     * @deprecated Use ResourceProvider#addAdditionalClassLoaders
-     */
-    @Deprecated
-    public static boolean addAdditionalClassLoaders(Collection<ClassLoader> additionalClassLoaders) {
-        return ResourceProvider.addAdditionalClassLoaders(additionalClassLoaders);
-    }
-
-    /**
      * Set, if image must be filtered to grayscale so it will look like disabled icon.
      *
Index: trunk/src/org/openstreetmap/josm/tools/Utils.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/Utils.java	(revision 18013)
+++ trunk/src/org/openstreetmap/josm/tools/Utils.java	(revision 18014)
@@ -104,51 +104,4 @@
 
     /**
-     * Checks if an item that is an instance of clazz exists in the collection
-     * @param <T> The collection type.
-     * @param collection The collection
-     * @param clazz The class to search for.
-     * @return <code>true</code> if that item exists in the collection.
-     * @deprecated use {@link Stream#anyMatch}
-     */
-    @Deprecated
-    public static <T> boolean exists(Iterable<T> collection, Class<? extends T> clazz) {
-        CheckParameterUtil.ensureParameterNotNull(clazz, "clazz");
-        return StreamUtils.toStream(collection).anyMatch(clazz::isInstance);
-    }
-
-    /**
-     * Finds the first item in the iterable for which the predicate matches.
-     * @param <T> The iterable type.
-     * @param collection The iterable to search in.
-     * @param predicate The predicate to match
-     * @return the item or <code>null</code> if there was not match.
-     * @deprecated use {@link Stream#filter} and {@link Stream#findFirst}
-     */
-    @Deprecated
-    public static <T> T find(Iterable<? extends T> collection, Predicate<? super T> predicate) {
-        for (T item : collection) {
-            if (predicate.test(item)) {
-                return item;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Finds the first item in the iterable which is of the given type.
-     * @param <T> The iterable type.
-     * @param collection The iterable to search in.
-     * @param clazz The class to search for.
-     * @return the item or <code>null</code> if there was not match.
-     * @deprecated use {@link Stream#filter} and {@link Stream#findFirst}
-     */
-    @Deprecated
-    @SuppressWarnings("unchecked")
-    public static <T> T find(Iterable<? extends Object> collection, Class<? extends T> clazz) {
-        CheckParameterUtil.ensureParameterNotNull(clazz, "clazz");
-        return (T) find(collection, clazz::isInstance);
-    }
-
-    /**
      * Returns the first element from {@code items} which is non-null, or null if all elements are null.
      * @param <T> type of items
