comefrom: <awangdev>720. Longest Word in Dictionary_2.java
code: private ArrayList<String> matchWords(ArrayList<String> wordList) {
  
          int maxWordLength = Integer.MIN_VALUE;
          ArrayList<String> result = new ArrayList<>();
          for (int i = wordList.size() - 1; i >= 0; i--) {
              String word = wordList.get(i);
              while(word.length() != 0) {
                  if (wordList.contains(word)) {
                      if (word.length() == 1) {
                          if (wordList.get(i).length() < maxWordLength) {
                              return result;
                          } else {
                              result.add(wordList.get(i));
                              maxWordLength = wordList.get(i).length();
                          }
                      }
                      word = word.substring(0, word.length() - 1);
                  } else {
                      break;
                  }
              }
          }
          return result;
      }
masked: private ArrayList < String > var_0 ( ArrayList < String > var_1 ) {
    int var_2 = Integer . MIN_VALUE ;
    ArrayList < String > var_3 = new ArrayList < > ( ) ;
    for ( int var_4 = var_1 . size ( ) - 1 ;
    var_4 >= 0 ;
    var_4 -- ) {
      String var_5 = var_1 . get ( var_4 ) ;
      while ( var_5 . length ( ) != 0 ) {
        if ( var_1 . contains ( var_5 ) ) {
          if ( var_5 . length ( ) == 1 ) {
            if ( var_1 . get ( var_4 ) . length ( ) < var_2 ) {
              return var_3 ;
            }
            else {
              var_3 . add ( var_1 . get ( var_4 ) ) ;
              var_2 = var_1 . get ( var_4 ) . length ( ) ;
            }
          }
          var_5 = var_5 . substring ( 0 , var_5 . length ( ) - 1 ) ;
        }
        else {
          break ;
        }
      }
    }
    return var_3 ;
  }
  