public static String convertNumberToWord(int number) {
    StringBuilder word = new StringBuilder();
    final List<Integer> tokenizedInts = Tokenizer.tokenizeNumber(number);

    for (int index = tokenizedInts.size() - 1; index >= 0; index--) {
      int token = tokenizedInts.get(index);

      // Skip if zero
      if (token == 0) {
        if (tokenizedInts.size() == 1) {
          word.append(NumberParser.parseOnes(token));
        }
        continue;
      }

      // For values 10 - 19
      if ((token == 1) && ((index == 1) || (index == 4) || (index == 7))) {
        int lastDigit = tokenizedInts.get(index - 1);
        String value = NumberParser.parseOnes((token * 10) + lastDigit);
        word.append(value);
        index--;
      } else {
        word.append(NumberParser.parseNumber(token, index));
      }

      addScales(index, word);
    }

    return word.toString();
  }