protected boolean mutatesTo(Object o1,Object o2){
  return null != o1 && null != o2 && o1.getClass() == o2.getClass();
}

protected boolean mutatesTo ( Object o1 , Object o2 ) { return null != o1 && null != o2 && o1 . getClass ( ) == o2 . getClass ( ) ; }
determines whether one object mutates to the other object . one object is considered able to mutate to another object if they are indistinguishable in terms of behaviors of all public apis . the default implementation here is to return true only if the two objects are instances of the same class .
