code: public static Pair<List<Pinyin>, List<Boolean>> convert2Pair(String complexText, boolean removeTone)
      {
          List<Pinyin> pinyinList = new LinkedList<Pinyin>();
          List<Boolean> booleanList = new LinkedList<Boolean>();
          Collection<Token> tokenize = trie.tokenize(complexText);
          for (Token token : tokenize)
          {
              String fragment = token.getFragment();
              if (token.isMatch())
              {
                  // 是拼音或拼音的一部分，用map转
                  Pinyin pinyin = convertSingle(fragment);
                  pinyinList.add(pinyin);
                  if (fragment.length() == pinyin.getPinyinWithoutTone().length())
                  {
                      booleanList.add(true);
                  }
                  else
                  {
                      booleanList.add(false);
                  }
              }
              else
              {
                  List<Pinyin> pinyinListFragment = PinyinDictionary.convertToPinyin(fragment);
                  pinyinList.addAll(pinyinListFragment);
                  for (int i = 0; i < pinyinListFragment.size(); ++i)
                  {
                      booleanList.add(true);
                  }
              }
          }
          makeToneToTheSame(pinyinList);
          return new Pair<List<Pinyin>, List<Boolean>>(pinyinList, booleanList);
      }
docs: 将混合文本转为拼音
  @param complexText 混合汉字、拼音、输入法头的文本，比如“飞流zh下sqianch”
  @param removeTone
  @return 一个键值对，键为拼音列表，值为类型（true表示这是一个拼音，false表示这是一个输入法头）