docs: protected Drawable boundToHotspot(final Drawable marker, HotspotPlace hotspot) {
  		if (hotspot == null) {
  			hotspot = HotspotPlace.BOTTOM_CENTER;
  		}
  		final int markerWidth = marker.getIntrinsicWidth();
  		final int markerHeight = marker.getIntrinsicHeight();
  		final int offsetX;
  		final int offsetY;
  		switch(hotspot) {
  			default:
  			case NONE:
  			case LEFT_CENTER:
  			case UPPER_LEFT_CORNER:
  			case LOWER_LEFT_CORNER:
  				offsetX = 0;
  				break;
  			case CENTER:
  			case BOTTOM_CENTER:
  			case TOP_CENTER:
  				offsetX = -markerWidth / 2;
  				break;
  			case RIGHT_CENTER:
  			case UPPER_RIGHT_CORNER:
  			case LOWER_RIGHT_CORNER:
  				offsetX = -markerWidth;
  				break;
  		}
  		switch (hotspot) {
  			default:
  			case NONE:
  			case TOP_CENTER:
  			case UPPER_LEFT_CORNER:
  			case UPPER_RIGHT_CORNER:
  				offsetY = 0;
  				break;
  			case CENTER:
  			case RIGHT_CENTER:
  			case LEFT_CENTER:
  				offsetY = -markerHeight / 2;
  				break;
  			case BOTTOM_CENTER:
  			case LOWER_RIGHT_CORNER:
  			case LOWER_LEFT_CORNER:
  				offsetY = -markerHeight;
  				break;
  		}
  		marker.setBounds(offsetX, offsetY, offsetX + markerWidth, offsetY + markerHeight);
  		return marker;
  	}