if (unrolled.numVariables () == 0) return 0;   // Happens if all nodes are pruned.
      /* Save the expected value of each feature for when we
         compute the gradient. */
      Assignment observations = unrolled.getAssignment ();
      double value = collectExpectationsAndValue (unrolled, observations);
      if (Double.isNaN (value)) {
        System.out.println("NaN on instance "+i+" : "+instance.getName ());
        printDebugInfo (unrolled);