code: protected Coordinate calculatePosition(double scale, Coordinate rescalePoint) {
  		ViewPort viewPort = mapPresenter.getViewPort();
  		Coordinate position = viewPort.getPosition();
  		double dX = (rescalePoint.getX() - position.getX()) * (1 - 1 / scale);
  		double dY = (rescalePoint.getY() - position.getY()) * (1 - 1 / scale);
  		return new Coordinate(position.getX() + dX, position.getY() + dY);
  	}
docs: Calculate the target position should there be a rescale point. The idea is that after zooming in or out, the
  mouse cursor would still lie at the same position in world space.