code: public void printFirstOrderProbsDocument(List<IN> document) {
  
      CRFCliqueTree cliqueTree = getCliqueTree(document);
  
      // for (int i = 0; i < factorTables.length; i++) {
      for (int i = 0; i < cliqueTree.length(); i++) {
        IN wi = document.get(i);
        System.out.print(wi.get(CoreAnnotations.TextAnnotation.class) + '\t');
        for (Iterator<String> iter = classIndex.iterator(); iter.hasNext();) {
          String label = iter.next();
          int index = classIndex.indexOf(label);
          if (i == 0) {
            // double prob = Math.pow(Math.E, factorTables[i].logProbEnd(index));
            double prob = cliqueTree.prob(i, index);
            System.out.print(label + '=' + prob);
            if (iter.hasNext()) {
              System.out.print("\t");
            } else {
              System.out.print("\n");
            }
          } else {
            for (Iterator<String> iter1 = classIndex.iterator(); iter1.hasNext();) {
              String label1 = iter1.next();
              int index1 = classIndex.indexOf(label1);
              // double prob = Math.pow(Math.E, factorTables[i].logProbEnd(new
              // int[]{index1, index}));
              double prob = cliqueTree.prob(i, new int[] { index1, index });
              System.out.print(label1 + '_' + label + '=' + prob);
              if (iter.hasNext() || iter1.hasNext()) {
                System.out.print("\t");
              } else {
                System.out.print("\n");
              }
            }
          }
        }
      }
    }
docs: Takes a {@link List} of something that extends {@link CoreMap} and prints
  the likelihood of each possible label at each point.
  
  @param document
  A {@link List} of something that extends {@link CoreMap}.