docs: public static boolean isIdentifier(String key) {
  
          if (SKIP_IDENTIFIER_CHECK) {
              return true;
          }
  
          // Should not be the case but check to be sure
          if (key == null || key.length() == 0) {
              return false;
          }
  
          // Check the list of known invalid values
          int i = 0;
          int j = invalidIdentifiers.length;
          while (i < j) {
              int k = (i + j) >>> 1; // Avoid overflow
              int result = invalidIdentifiers[k].compareTo(key);
              if (result == 0) {
                  return false;
              }
              if (result < 0) {
                  i = k + 1;
              } else {
                  j = k;
              }
          }
  
          // Check the start character that has more restrictions
          if (!Character.isJavaIdentifierStart(key.charAt(0))) {
              return false;
          }
  
          // Check each remaining character used is permitted
          for (int idx = 1; idx < key.length(); idx++) {
              if (!Character.isJavaIdentifierPart(key.charAt(idx))) {
                  return false;
              }
          }
  
          return true;
      }