void addEquation(Equation equation) {
    EKey key = equation.key;
    CoreHKey coreKey = new CoreHKey(key.member, key.dirKey);

    Equation previousEquation = equations.get(coreKey);
    if (previousEquation == null) {
      equations.put(coreKey, equation);
    }
    else {
      EKey joinKey = new EKey(coreKey.myMethod, coreKey.dirKey, equation.key.stable && previousEquation.key.stable, false);
      Result joinResult = resultUtil.join(equation.result, previousEquation.result);
      Equation joinEquation = new Equation(joinKey, joinResult);
      equations.put(coreKey, joinEquation);
    }
  }
void addEquation(Equation equation)