public bool CheckForEquality(MULTIbalancer rhs)
{
return (this.OnWhitelist == rhs.OnWhitelist
&& this.OnFriendsList == rhs.OnFriendsList
&& this.ApplyFriendsListToTeam == rhs.ApplyFriendsListToTeam
&& this.TopScorers == rhs.TopScorers
&& this.SameClanTagsInSquad == rhs.SameClanTagsInSquad
&& this.SameClanTagsInTeam == rhs.SameClanTagsInTeam
&& this.SameClanTagsForRankDispersal == rhs.SameClanTagsForRankDispersal
&& this.LenientRankDispersal == rhs.LenientRankDispersal
&& this.MinutesAfterJoining == rhs.MinutesAfterJoining
&& this.JoinedEarlyPhase == rhs.JoinedEarlyPhase
&& this.JoinedMidPhase == rhs.JoinedMidPhase
&& this.JoinedLatePhase == rhs.JoinedLatePhase
&& MULTIbalancerUtils.EqualArrays(this.EarlyPhaseTicketPercentageToUnstack, rhs.EarlyPhaseTicketPercentageToUnstack)
&& MULTIbalancerUtils.EqualArrays(this.MidPhaseTicketPercentageToUnstack, rhs.MidPhaseTicketPercentageToUnstack)
&& MULTIbalancerUtils.EqualArrays(this.LatePhaseTicketPercentageToUnstack, rhs.LatePhaseTicketPercentageToUnstack)
&& MULTIbalancerUtils.EqualArrays(this.EarlyPhaseBalanceSpeed, rhs.EarlyPhaseBalanceSpeed)
&& MULTIbalancerUtils.EqualArrays(this.MidPhaseBalanceSpeed, rhs.MidPhaseBalanceSpeed)
&& MULTIbalancerUtils.EqualArrays(this.LatePhaseBalanceSpeed, rhs.LatePhaseBalanceSpeed)
&& this.ForbidSwitchingAfterAutobalance == rhs.ForbidSwitchingAfterAutobalance
&& this.ForbidSwitchingToWinningTeam == rhs.ForbidSwitchingToWinningTeam
&& this.ForbidSwitchingToBiggestTeam == rhs.ForbidSwitchingToBiggestTeam
&& this.ForbidSwitchingAfterDispersal == rhs.ForbidSwitchingAfterDispersal
&& this.EnableImmediateUnswitch == rhs.EnableImmediateUnswitch
);
}