docs: def process_multientry(entry_list, prod_comp, coeff_threshold=1e-4):
          """
          Static method for finding a multientry based on
          a list of entries and a product composition.
          Essentially checks to see if a valid aqueous
          reaction exists between the entries and the
          product composition and returns a MultiEntry
          with weights according to the coefficients if so.
  
          Args:
              entry_list ([Entry]): list of entries from which to
                  create a MultiEntry
              prod_comp (Composition): composition constraint for setting
                  weights of MultiEntry
              coeff_threshold (float): threshold of stoichiometric
                  coefficients to filter, if weights are lower than
                  this value, the entry is not returned
          """
          dummy_oh = [Composition("H"), Composition("O")]
          try:
              # Get balanced reaction coeffs, ensuring all < 0 or conc thresh
              # Note that we get reduced compositions for solids and non-reduced
              # compositions for ions because ions aren't normalized due to
              # their charge state.
              entry_comps = [e.composition for e in entry_list]
              rxn = Reaction(entry_comps + dummy_oh, [prod_comp])
              coeffs = -np.array([rxn.get_coeff(comp) for comp in entry_comps])
              # Return None if reaction coeff threshold is not met
              # TODO: this filtration step might be put somewhere else
              if (coeffs > coeff_threshold).all():
                  return MultiEntry(entry_list, weights=coeffs.tolist())
              else:
                  return None
          except ReactionError:
              return None