code: public final String getAllOutcomes (double[] ocs) {
          if (ocs.length != ocNames.length) {
              return "The double array sent as a parameter to GISModel.getAllOutcomes() must not have been produced by this model.";
          }
          else {
              if (df == null) { //lazy initilazation
                df = new DecimalFormat("0.0000");
              }
              StringBuffer sb = new StringBuffer(ocs.length*2);
              sb.append(ocNames[0]).append("[").append(df.format(ocs[0])).append("]");
              for (int i = 1; i<ocs.length; i++) {
                  sb.append("  ").append(ocNames[i]).append("[").append(df.format(ocs[i])).append("]");
              }
              return sb.toString();
          }
      }
docs: Return a string matching all the outcome names with all the
  probabilities produced by the <code>eval(String[] context)</code>
  method.
  
  @param ocs A <code>double[]</code> as returned by the
  <code>eval(String[] context)</code>
  method.
  @return    String containing outcome names paired with the normalized
  probability (contained in the <code>double[] ocs</code>)
  for each one.