void setLocation(@Nullable Point location) {
    if (Objects.equals(myLocation, location)) return;
    myLocation = apply(Point::new, location);
    myModificationCount.getAndIncrement();
  }
void setLocation(@Nullable Point location)