Index: /trunk/src/org/openstreetmap/josm/actions/corrector/ReverseWayTagCorrector.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/corrector/ReverseWayTagCorrector.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/actions/corrector/ReverseWayTagCorrector.java	(revision 19536)
@@ -69,4 +69,5 @@
     }
 
+    @FunctionalInterface
     private interface IStringSwitcher extends Function<String, String> {
 
Index: /trunk/src/org/openstreetmap/josm/data/Preferences.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 19536)
@@ -948,4 +948,5 @@
      * @param <E> The throwable type
      */
+    @FunctionalInterface
     private interface ThrowingConsumer<T, E extends Throwable> {
         /**
Index: /trunk/src/org/openstreetmap/josm/data/gpx/GpxDataContainer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/gpx/GpxDataContainer.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/data/gpx/GpxDataContainer.java	(revision 19536)
@@ -6,4 +6,5 @@
  * @since 18078
  */
+@FunctionalInterface
 public interface GpxDataContainer {
 
Index: /trunk/src/org/openstreetmap/josm/data/imagery/vectortile/mapbox/MVTTile.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/imagery/vectortile/mapbox/MVTTile.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/data/imagery/vectortile/mapbox/MVTTile.java	(revision 19536)
@@ -129,4 +129,5 @@
      * @author Taylor Smock
      */
+    @FunctionalInterface
     public interface TileListener {
         /**
@@ -143,4 +144,5 @@
      * @author Taylor Smock
      */
+    @FunctionalInterface
     public interface LayerShower {
         /**
Index: /trunk/src/org/openstreetmap/josm/data/oauth/IOAuthAuthorization.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/oauth/IOAuthAuthorization.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/data/oauth/IOAuthAuthorization.java	(revision 19536)
@@ -10,4 +10,5 @@
  * @since 18650
  */
+@FunctionalInterface
 public interface IOAuthAuthorization {
     /**
Index: /trunk/src/org/openstreetmap/josm/data/osm/event/SelectionEventManager.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/event/SelectionEventManager.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/data/osm/event/SelectionEventManager.java	(revision 19536)
@@ -42,4 +42,5 @@
     }
 
+    @FunctionalInterface
     private interface ListenerInfo {
         void fire(SelectionChangeEvent event);
Index: /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2GridShiftFileSource.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2GridShiftFileSource.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2GridShiftFileSource.java	(revision 19536)
@@ -8,4 +8,5 @@
  * @since 12777
  */
+@FunctionalInterface
 public interface NTV2GridShiftFileSource {
 
@@ -16,4 +17,3 @@
      */
     InputStream getNTV2GridShiftFile(String gridFileName);
-
 }
Index: /trunk/src/org/openstreetmap/josm/data/sources/ISourceType.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/sources/ISourceType.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/data/sources/ISourceType.java	(revision 19536)
@@ -9,4 +9,5 @@
  * @since 16545
  */
+@SuppressWarnings("PMD.ImplicitFunctionalInterface")
 public interface ISourceType<T extends Enum<T>> extends ICommonSource<T> {
     /**
Index: /trunk/src/org/openstreetmap/josm/data/vector/DataLayer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/vector/DataLayer.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/data/vector/DataLayer.java	(revision 19536)
@@ -6,4 +6,5 @@
  * @param <T> The type used to identify a layer, typically a string
  */
+@SuppressWarnings("PMD.ImplicitFunctionalInterface")
 public interface DataLayer<T> {
     /**
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 19536)
@@ -339,4 +339,5 @@
      * Extracted interface of {@link EditTagDialog}.
      */
+    @SuppressWarnings("PMD.ImplicitFunctionalInterface")
     protected interface IEditTagDialog extends IExtendedDialog {
         /**
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/IRelationEditorActionGroup.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/IRelationEditorActionGroup.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/IRelationEditorActionGroup.java	(revision 19536)
@@ -16,4 +16,5 @@
  * @since 14027
  */
+@SuppressWarnings("PMD.ImplicitFunctionalInterface")
 public interface IRelationEditorActionGroup {
 
Index: /trunk/src/org/openstreetmap/josm/gui/download/DownloadSourceListener.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/download/DownloadSourceListener.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/gui/download/DownloadSourceListener.java	(revision 19536)
@@ -6,4 +6,5 @@
  * @since 12878
  */
+@FunctionalInterface
 interface DownloadSourceListener {
 
Index: /trunk/src/org/openstreetmap/josm/gui/layer/DownloadFromServer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/DownloadFromServer.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/DownloadFromServer.java	(revision 19536)
@@ -7,4 +7,5 @@
  * @since 13453
  */
+@FunctionalInterface
 public interface DownloadFromServer {
 
Index: /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/AdjustTimezoneAndOffsetDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/AdjustTimezoneAndOffsetDialog.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/AdjustTimezoneAndOffsetDialog.java	(revision 19536)
@@ -145,4 +145,5 @@
      * Listener called when the sliders are moved.
      */
+    @FunctionalInterface
     public interface AdjustListener {
         /**
Index: /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/IGeoImageLayer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/IGeoImageLayer.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/IGeoImageLayer.java	(revision 19536)
@@ -53,4 +53,5 @@
      * Listen for image changes
      */
+    @FunctionalInterface
     interface ImageChangeListener {
         /**
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/StyleSetting.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/StyleSetting.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/StyleSetting.java	(revision 19536)
@@ -33,4 +33,5 @@
  * </pre>
  */
+@SuppressWarnings("PMD.ImplicitFunctionalInterface")
 public interface StyleSetting {
 
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/StyleSettingGui.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/StyleSettingGui.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/StyleSettingGui.java	(revision 19536)
@@ -8,4 +8,5 @@
  * @since 12831
  */
+@FunctionalInterface
 public interface StyleSettingGui {
 
Index: /trunk/src/org/openstreetmap/josm/gui/preferences/SubPreferenceSetting.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/SubPreferenceSetting.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/SubPreferenceSetting.java	(revision 19536)
@@ -8,4 +8,5 @@
  * (returned by getTabPreferenceSetting).
  */
+@SuppressWarnings("PMD.ImplicitFunctionalInterface")
 public interface SubPreferenceSetting extends PreferenceSetting {
 
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetItemGuiSupport.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetItemGuiSupport.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetItemGuiSupport.java	(revision 19536)
@@ -58,4 +58,5 @@
      * @since 17610
      */
+    @FunctionalInterface
     public interface ChangeListener {
         /**
Index: /trunk/src/org/openstreetmap/josm/io/OsmApi.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OsmApi.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/io/OsmApi.java	(revision 19536)
@@ -98,4 +98,5 @@
      * @since 12804
      */
+    @FunctionalInterface
     public interface OsmApiInitializationListener {
         /**
Index: /trunk/src/org/openstreetmap/josm/io/OsmConnection.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OsmConnection.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/io/OsmConnection.java	(revision 19536)
@@ -53,4 +53,5 @@
      * @since 12803
      */
+    @FunctionalInterface
     public interface OAuthAccessTokenFetcher {
         /**
Index: /trunk/src/org/openstreetmap/josm/io/UrlPattern.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/UrlPattern.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/io/UrlPattern.java	(revision 19536)
@@ -10,4 +10,5 @@
  * @since 15784
  */
+@FunctionalInterface
 public interface UrlPattern {
     /**
Index: /trunk/src/org/openstreetmap/josm/io/audio/AudioListener.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/audio/AudioListener.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/io/audio/AudioListener.java	(revision 19536)
@@ -8,4 +8,5 @@
  * @since 12328
  */
+@FunctionalInterface
 public interface AudioListener {
 
Index: /trunk/src/org/openstreetmap/josm/tools/OptionParser.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/OptionParser.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/tools/OptionParser.java	(revision 19536)
@@ -261,4 +261,5 @@
     }
 
+    @FunctionalInterface
     protected interface AvailableOption {
 
Index: /trunk/src/org/openstreetmap/josm/tools/bugreport/BugReportQueue.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/bugreport/BugReportQueue.java	(revision 19535)
+++ /trunk/src/org/openstreetmap/josm/tools/bugreport/BugReportQueue.java	(revision 19536)
@@ -41,4 +41,5 @@
      * Class that handles reporting a bug to the user.
      */
+    @FunctionalInterface
     public interface BugReportHandler {
         /**
