Index: trunk/src/org/openstreetmap/josm/gui/MapFrame.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MapFrame.java	(revision 11172)
+++ trunk/src/org/openstreetmap/josm/gui/MapFrame.java	(revision 11173)
@@ -284,5 +284,5 @@
         Main.getLayerManager().addActiveLayerChangeListener(this);
 
-        boolean unregisterTab = Shortcut.findShortcut(KeyEvent.VK_TAB, 0) != null;
+        boolean unregisterTab = Shortcut.findShortcut(KeyEvent.VK_TAB, 0).isPresent();
         if (unregisterTab) {
             for (JComponent c: allDialogButtons) {
Index: trunk/src/org/openstreetmap/josm/gui/MapView.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 11172)
+++ trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 11173)
@@ -277,7 +277,5 @@
         });
 
-        if (Shortcut.findShortcut(KeyEvent.VK_TAB, 0) != null) {
-            setFocusTraversalKeysEnabled(false);
-        }
+        setFocusTraversalKeysEnabled(!Shortcut.findShortcut(KeyEvent.VK_TAB, 0).isPresent());
 
         for (JComponent c : getMapNavigationComponents(this)) {
@@ -297,5 +295,5 @@
         zoomSlider.setSize(size);
         zoomSlider.setLocation(3, 0);
-        zoomSlider.setFocusTraversalKeysEnabled(Shortcut.findShortcut(KeyEvent.VK_TAB, 0) == null);
+        zoomSlider.setFocusTraversalKeysEnabled(!Shortcut.findShortcut(KeyEvent.VK_TAB, 0).isPresent());
 
         MapScaler scaler = new MapScaler(forMapView);
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 11172)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 11173)
@@ -799,14 +799,12 @@
             final int commandDownMask = GuiHelper.getMenuShortcutKeyMaskEx();
             List<String> lines = new ArrayList<>();
-            Shortcut sc = Shortcut.findShortcut(KeyEvent.VK_1, commandDownMask);
-            if (sc != null) {
-                lines.add(sc.getKeyText() + ' ' + tr("to apply first suggestion"));
-            }
+            Shortcut.findShortcut(KeyEvent.VK_1, commandDownMask).ifPresent(sc ->
+                    lines.add(sc.getKeyText() + ' ' + tr("to apply first suggestion"))
+            );
             lines.add(KeyEvent.getKeyModifiersText(KeyEvent.SHIFT_MASK)+'+'+KeyEvent.getKeyText(KeyEvent.VK_ENTER) + ' '
                     +tr("to add without closing the dialog"));
-            sc = Shortcut.findShortcut(KeyEvent.VK_1, commandDownMask | KeyEvent.SHIFT_DOWN_MASK);
-            if (sc != null) {
-                lines.add(sc.getKeyText() + ' ' + tr("to add first suggestion without closing the dialog"));
-            }
+            Shortcut.findShortcut(KeyEvent.VK_1, commandDownMask | KeyEvent.SHIFT_DOWN_MASK).ifPresent(sc ->
+                    lines.add(sc.getKeyText() + ' ' + tr("to add first suggestion without closing the dialog"))
+            );
             final JLabel helpLabel = new JLabel("<html>" + Utils.join("<br>", lines) + "</html>");
             helpLabel.setFont(helpLabel.getFont().deriveFont(Font.PLAIN));
Index: trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java	(revision 11172)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java	(revision 11173)
@@ -1039,5 +1039,5 @@
         control.removeAll();
         buttonActions.clear();
-        boolean unregisterTab = Shortcut.findShortcut(KeyEvent.VK_TAB, 0) != null;
+        boolean unregisterTab = Shortcut.findShortcut(KeyEvent.VK_TAB, 0).isPresent();
 
         for (ActionDefinition action : getDefinedActions()) {
Index: trunk/src/org/openstreetmap/josm/tools/Shortcut.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/Shortcut.java	(revision 11172)
+++ trunk/src/org/openstreetmap/josm/tools/Shortcut.java	(revision 11173)
@@ -293,9 +293,8 @@
      * @param requestedKey the requested key
      * @param modifier the modifier
-     * @return the registered shortcut or {@code null}
-     */
-    public static Shortcut findShortcut(int requestedKey, int modifier) {
-        return findShortcutByKeyOrShortText(requestedKey, modifier, null)
-                .orElse(null);
+     * @return an {@link Optional} registered shortcut, never {@code null}
+     */
+    public static Optional<Shortcut> findShortcut(int requestedKey, int modifier) {
+        return findShortcutByKeyOrShortText(requestedKey, modifier, null);
     }
 
@@ -368,5 +367,5 @@
         Main.pref.getAllPrefixCollectionKeys("shortcut.entry.").stream()
                 .map(Shortcut::new)
-                .filter(sc -> findShortcut(sc.getAssignedKey(), sc.getAssignedModifier()) == null)
+                .filter(sc -> !findShortcut(sc.getAssignedKey(), sc.getAssignedModifier()).isPresent())
                 .sorted(Comparator.comparing(sc -> sc.isAssignedUser() ? 1 : sc.isAssignedDefault() ? 2 : 3))
                 .forEachOrdered(shortcuts::add);
@@ -458,5 +457,5 @@
                 // Try to reassign Meta to Ctrl
                 int newmodifier = findNewOsxModifier(requestedGroup);
-                if (findShortcut(requestedKey, newmodifier) == null) {
+                if (!findShortcut(requestedKey, newmodifier).isPresent()) {
                     Main.info("Reassigning OSX shortcut '" + shortText + "' from Meta to Ctrl because of conflict with " + conflict);
                     return reassignShortcut(shortText, longText, requestedKey, conflict, requestedGroup, requestedKey, newmodifier);
@@ -466,5 +465,5 @@
                 for (int k : keys) {
                     int newmodifier = getGroupModifier(m);
-                    if (findShortcut(k, newmodifier) == null) {
+                    if (!findShortcut(k, newmodifier).isPresent()) {
                         Main.info("Reassigning shortcut '" + shortText + "' from " + modifier + " to " + newmodifier +
                                 " because of conflict with " + conflict);
