docs: private void foreign(Term[] terms) {
          List<Term> list = new ArrayList<>();
  
          Term term = null;
          Term temp = null;
  
          boolean mid = false;
  
          for (int i = 0; i < terms.length; i++) {
              term = terms[i];
              if (term == null) {
                  continue;
              }
  
              if (DATDictionary.foreign(term)) {
                  mid = "·".equals(term.getName());
  
                  if (mid && list.size() == 0) { // mid 不能出现在名字首位
                      mid = false;
                      continue;
                  }
  
                  list.add(term);
                  continue;
              }
  
              if (mid) {
                  list = list.subList(0, list.size() - 1);
                  mid = false;
              }
  
              if (list.size() == 0) {
                  continue;
              }
  
              if (list.size() == 1) { //只有一个就别识别了
                  list.clear();
                  continue;
              }
  
              TermUtil.insertTerm(terms, list, TermNatures.NRF);
  
              list.clear();
  
          }
  
      }