func (a *Map) Equals(b *Map) bool {
	if a == nil || b == nil {
		return a == nil && b == nil
	}
	if !a.ElementType.Equals(&b.ElementType) {
		return false
	}
	if a.ElementRelationship != b.ElementRelationship {
		return false
	}
	if len(a.Fields) != len(b.Fields) {
		return false
	}
	for i := range a.Fields {
		if !a.Fields[i].Equals(&b.Fields[i]) {
			return false
		}
	}
	if len(a.Unions) != len(b.Unions) {
		return false
	}
	for i := range a.Unions {
		if !a.Unions[i].Equals(&b.Unions[i]) {
			return false
		}
	}
	return true
}
// Equals returns true iff the two Maps are equal.
Equals returns true iff the two Maps are equal.
// Equals returns true iff the two Maps are equal .
func (a *Map) Equals(b *Map) bool {
	if a == nil || b == nil {
		return a == nil && b == nil
	}
	if !a.ElementType.Equals(&b.ElementType) {
		return false
	}
	if a.ElementRelationship != b.ElementRelationship {
		return false
	}
	if len(a.Fields) != len(b.Fields) {
		return false
	}
	for i := range a.Fields {
		if !a.Fields[i].Equals(&b.Fields[i]) {
			return false
		}
	}
	if len(a.Unions) != len(b.Unions) {
		return false
	}
	for i := range a.Unions {
		if !a.Unions[i].Equals(&b.Unions[i]) {
			return false
		}
	}
	return true
}
func ( a * Map ) Equals ( b * Map ) bool { if a == nil || b == nil { return a == nil && b == nil } if ! a . ElementType . Equals ( & b . ElementType ) { return false } if a . ElementRelationship != b . ElementRelationship { return false } if len ( a . Fields ) != len ( b . Fields ) { return false } for i := range a . Fields { if ! a . Fields [ i ] . Equals ( & b . Fields [ i ] ) { return false } } if len ( a . Unions ) != len ( b . Unions ) { return false } for i := range a . Unions { if ! a . Unions [ i ] . Equals ( & b . Unions [ i ] ) { return false } } return true }
Equals returns true iff the two Maps are equal.
Equals returns true iff the two Maps are equal .