merge method 
    
    
    
  Implementation
  ContactsConfiguration merge(ContactsConfiguration mergeWith) {
  return ContactsConfiguration(
    usersConfiguration: usersConfiguration == null
        ? mergeWith.usersConfiguration
        : usersConfiguration!.merge(
            mergeWith.usersConfiguration ?? const UsersConfiguration()),
    onItemTap: onItemTap ?? mergeWith.onItemTap,
    groupsConfiguration: groupsConfiguration == null
        ? mergeWith.groupsConfiguration
        : groupsConfiguration!.merge(
            mergeWith.groupsConfiguration ?? const GroupsConfiguration()),
    usersTabTitle: usersTabTitle ?? mergeWith.usersTabTitle,
    groupsTabTitle: groupsTabTitle ?? mergeWith.groupsTabTitle,
    title: title ?? mergeWith.title,
    closeIcon: closeIcon ?? mergeWith.closeIcon,
    contactsStyle: contactsStyle ?? mergeWith.contactsStyle,
    onClose: onClose ?? mergeWith.onClose,
    theme: theme ?? mergeWith.theme,
    onSubmitIconTap: onSubmitIconTap ?? mergeWith.onSubmitIconTap,
    tabVisibility: tabVisibility ?? mergeWith.tabVisibility,
    submitIcon: submitIcon ?? mergeWith.submitIcon,
    selectionLimit: selectionLimit ?? mergeWith.selectionLimit,
    hideSubmitIcon: hideSubmitIcon ?? mergeWith.hideSubmitIcon,
    selectionMode: selectionMode ?? mergeWith.selectionMode,
    snackBarConfiguration:
        snackBarConfiguration ?? mergeWith.snackBarConfiguration,
  );
}