public Point getCenterPosition() {
    	if (getWidth() != 0 && getHeight() != 0)
    		return new Point(mapPosition.x + getWidth() / 2, mapPosition.y + getHeight() / 2);
    	return new Point(mapPosition.x + PREFERRED_WIDTH / 2, mapPosition.y + PREFERRED_HEIGHT / 2);
    }