code: public void insert(int line, Vertex vertex, WordNet wordNetAll)
      {
          for (Vertex oldVertex : vertexes[line])
          {
              // 保证唯一性
              if (oldVertex.realWord.length() == vertex.realWord.length()) return;
          }
          vertexes[line].add(vertex);
          ++size;
          // 保证这个词语前面直连
          final int start = Math.max(0, line - 5); // 效率起见，只扫描前4行
          for (int l = line - 1; l > start; --l)
          {
              LinkedList<Vertex> all = wordNetAll.get(l);
              if (all.size() <= vertexes[l].size())
                  continue;
              for (Vertex pre : all)
              {
                  if (pre.length() + l == line)
                  {
                      vertexes[l].add(pre);
                      ++size;
                  }
              }
          }
          // 保证这个词语后面直连
          int l = line + vertex.realWord.length();
          LinkedList<Vertex> targetLine = wordNetAll.get(l);
          if (vertexes[l].size() == 0 && targetLine.size() != 0) // 有时候vertexes里面的词语已经经过用户词典合并，造成数量更少
          {
              size += targetLine.size();
              vertexes[l] = targetLine;
          }
      }
docs: 添加顶点，同时检查此顶点是否悬孤，如果悬孤则自动补全
  
  @param line
  @param vertex
  @param wordNetAll 这是一个完全的词图