code: public double[] conditionalLogProbsGivenPrevious(int[] given) {
      if (given.length != windowSize - 1) {
        throw new IllegalArgumentException("conditionalLogProbsGivenPrevious requires given one less than clique size (" +
            windowSize + ") but was " + Arrays.toString(given));
      }
      double[] result = new double[numClasses];
      for (int i = 0; i < numClasses; i++) {
        int index = indexOf(given, i);
        result[i] = table[index];
      }
      ArrayMath.logNormalize(result);
      return result;
    }
docs: Computes the probabilities of the tag at the end of the table given that
  the previous tag sequence in table is GIVEN. given is at the beginning,
  position in question is at the end
  
  @return the probabilities of the tag at the end of the table