@Override public boolean equals(Object o){
  if (this == o)   return true;
  if (o == null || getClass() != o.getClass())   return false;
  AbstractUserNotification that=(AbstractUserNotification)o;
  return !(notificationConfiguration != null ? !notificationConfiguration.equals(that.notificationConfiguration) : that.notificationConfiguration != null);
}

@ Override public boolean equals ( Object o ) { if ( this == o ) return true ; if ( o == null || getClass ( ) != o . getClass ( ) ) return false ; AbstractUserNotification that = ( AbstractUserNotification ) o ; return ! ( notificationConfiguration != null ? ! notificationConfiguration . equals ( that . notificationConfiguration ) : that . notificationConfiguration != null ) ; }
hashcode / equals must be implemented to synchronized the notifications with the ones from the server .
