code: protected boolean mutatesTo(Object o1, Object o2)
  	{
  		return null != o1 && null != o2 && o1.getClass() == o2.getClass();
  	}
docs: 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.
  
  @param o1
  one object
  @param o2
  the other object
  @return true if second object mutates to the first object, otherwise false