println("  public boolean equivalent(shared.SharedObject peer) {"); println("    if (peer instanceof " + getClassName() + ") {");
println("  public boolean equivalent(shared.SharedObject object) {"); println("    if (object instanceof " + getClassName() + ") {"); println("      " + getClassName() + " peer = (" + getClassName() + ") object;");
	protected void genEquivalentMethod() {		println("  public boolean equivalent(shared.SharedObject peer) {");		println("    if (peer instanceof " + getClassName() + ") {");		println("      if (isEmpty() || isSingle()) {");		println("        return super.equivalent(peer); ");		println("      }");		print("      return super.equivalent(peer) ");		genSeparatorFieldsEquivalentConjunction();		println(";");		println("    }");		println("    else {");		println("      return false;");		println("    }");		println("  }");		println();	}