@Override
  public final boolean equals(final Object other) {
    if (!(other instanceof Production)) {
      return false;
    }
    // XXX NOTE: this assumes that the reference of the generator value does not change!
    final Production otherProduction = (Production) other;
    return this.id == otherProduction.id
        && this.ownClass.equals(otherProduction.ownClass)
        && this.generatorValue == otherProduction.generatorValue;
  }
@Override
  public final boolean equals(final Object other) {
    if (!(other instanceof Production)) {
      return false;
    }
   
    final Production otherProduction = (Production) other;
    return this.id == otherProduction.id
        && this.ownClass.equals(otherProduction.ownClass)
        && this.generatorValue == otherProduction.generatorValue;
  }
@override public final boolean equals(final object other) { if (!(other instanceof production)) { return false; } final production otherproduction = (production) other; return this.id == otherproduction.id && this.ownclass.equals(otherproduction.ownclass) && this.generatorvalue == otherproduction.generatorvalue; }