code: private List<Token> convertFactor(final Token.Factor factor) {
          
          final String item = factor.getValue();
          final int itemLength = item.length();
          
          final List<Token> list = new ArrayList<>();
          
          int idx = 0;
          StringBuilder noTermChar = new StringBuilder(); // フォーマット以外の文字列を積む。
          while(idx < itemLength) {
              
              String matchChars = null;
              for(String chars : SORTED_DATE_CHARS) {
                  if(Utils.startsWithIgnoreCase(item, chars, idx)) {
                      matchChars = item.substring(idx, idx + chars.length());
                      break;
                  }
              }
              
              if(matchChars == null) {
                  // フォーマットでない場合は、文字列としてバッファに追加する。
                  noTermChar.append(item.charAt(idx));
                  idx++;
              } else {
                  if(noTermChar.length() > 0) {
                      // 今まで積んだバッファを、文字列として分割する。
                      list.add(Token.factor(noTermChar.toString()));
                      noTermChar = new StringBuilder();
                  }
                  
                  list.add(Token.formatter(matchChars));
                  idx += matchChars.length();
                  
              }
          }
          
          if(noTermChar.length() > 0) {
              list.add(Token.factor(noTermChar.toString()));
          }
          
          return list;
      }
docs: 書式の因子を日時用とそれ以外に変換する。
  @param factor
  @return