docs: @SuppressWarnings("deprecation")
      void findItemsWithShortcutForKey(List<MenuItem> items, int keyCode, KeyEvent event) {
          final boolean qwerty = isQwertyMode();
          final int metaState = event.getMetaState();
          final KeyCharacterMap.KeyData possibleChars = new KeyCharacterMap.KeyData();
          // Get the chars associated with the keyCode (i.e using any chording combo)
          final boolean isKeyCodeMapped = event.getKeyData(possibleChars);
          // The delete key is not mapped to '\b' so we treat it specially
          if (!isKeyCodeMapped && (keyCode != KeyEvent.KEYCODE_DEL)) {
              return;
          }
  
          // Look for an item whose shortcut is this key.
          final int N = mItems.size();
          for (int i = 0; i < N; i++) {
              MenuItem item = mItems.get(i);
              if (item.hasSubMenu()) {
                  ((Menu) item.getSubMenu()).findItemsWithShortcutForKey(items, keyCode, event);
              }
              final char shortcutChar = qwerty ? item.getAlphabeticShortcut() : item.getNumericShortcut();
              if (((metaState & (KeyEvent.META_SHIFT_ON | KeyEvent.META_SYM_ON)) == 0) &&
                      (shortcutChar != 0) &&
                      (shortcutChar == possibleChars.meta[0]
                              || shortcutChar == possibleChars.meta[2]
                              || (qwerty && shortcutChar == '\b' &&
                              keyCode == KeyEvent.KEYCODE_DEL)) &&
                      item.isEnabled()) {
                  items.add(item);
              }
          }
      }