/**
 * A tuple of the chemical and the amount used/produced, such
 * as ...
 * 
 * 1 C
 */

public class Reactant
{
    public Reactant (Chemical chem, Integer quantity)
    {
        _chemical = chem;
        _amount = quantity;
    }

    public final Chemical getChemical ()
    {
        return _chemical;
    }

    public final Integer getAmount ()
    {
        return _amount;
    }

    public final void setAmount (int v)
    {
        _amount = v;
    }

    @Override
    public String toString ()
    {
        return _amount+" "+_chemical.getName();
    }

    private Chemical _chemical;
    private Integer _amount;
}
@@ -560,24 +560,360 @@
 e();%0A    %7D%0A%0A
+    // just compare chemical names%0A    %0A    @Override%0A    public boolean equals (Object obj)%0A    %7B%0A        if (obj == null)%0A            return false;%0A%0A        if (obj instanceof Reactant)%0A        %7B%0A            Reactant temp = (Reactant) obj;%0A%0A            return _chemical.equals(temp._chemical);%0A        %7D%0A%0A        return false;%0A    %7D%0A%0A
     private 

Update Reactant.java