code: protected Term optimalRoot() {
          Term to = end;
          to.clearScore();
          Term from = null;
          while ((from = to.from()) != null) {
              for (int i = from.getOffe() + 1; i < to.getOffe(); i++) {
                  terms[i] = null;
              }
              if (from.getOffe() > -1) {
                  terms[from.getOffe()] = from;
              }
              // 断开横向链表.节省内存
              from.setNext(null);
              from.setTo(to);
              from.clearScore();
              to = from;
          }
          return root;
      }
docs: 取得最优路径的root Term
  
  @return