code: public ParanoidOutput combineParanoid(List<ShareInfo> shares,
                                            ParanoidInput paranoidInput)
      {
          ParanoidOutput ret = performParanoidCombines(shares, paranoidInput);
  
          if (paranoidInput != null)
          {
              if (ret.getReconstructedMap().size() != 1)
              {
                  throw new SecretShareException("Paranoid combine failed, on combination at count=" + ret.getCount());
              }
          }
  
          return ret;
      }
docs: This version does the combines, and throws an exception if there is not 100% agreement.
  
  @param shares - all shares available to make unique subsets from
  @param paranoidInput control over the process
  @return ParanoidOutput
  @throws SecretShareException if there is not 100% agreement on the reconstructed secret