code: static BigInteger getMultiChoice(int[] choices, JSchema schema) throws JMFUninitializedAccessException {
      if (choices == null || choices.length == 0)
        return BigInteger.ZERO;
      JSType topType = (JSType)schema.getJMFType();
      if (topType instanceof JSVariant)
        return getMultiChoice(choices, schema, (JSVariant)topType);
      else if (topType instanceof JSTuple)
        return getMultiChoice(choices, schema, ((JSTuple)topType).getDominatedVariants());
      else
        // If topType is JSRepeated, JSDynamic, JSEnum, or JSPrimitive there can be no unboxed
        // variants at top level.
        return BigInteger.ZERO;
    }
docs: The getMultiChoice subroutine is the inverse of setChoices: given a vector of
  specific choices, it recursively computes the multiChoice code