fixed sonar bug about equals