code: public CfgParseChart parseMarginal(List<?> terminals, Factor rootDist, boolean useSumProduct) {
      return marginal(createParseChart(terminals, useSumProduct), terminals, rootDist);
    }
docs: Compute the distribution over CFG entries, the parse root, and the
  children, conditioned on the provided terminals and assuming the provided
  distributions over the root node.