@Override
    public @NotNull Point getShiftedPoint(@NotNull Point targetPoint, int shift) {
      return new Point(targetPoint.x + shift, targetPoint.y);
    }
@Override
    public @NotNull Point getShiftedPoint(@NotNull Point targetPoint, int shift)