@Override
	public Insets getAutoscrollInsets() {
		JScrollPane scrollPane = UIUtilities.getAncestorOfType(this, JScrollPane.class);
		if (scrollPane != null) {
			Rectangle bounds = scrollPane.getViewport().getViewRect();
			return new Insets(bounds.y + AUTO_SCROLL_MARGIN, bounds.x + AUTO_SCROLL_MARGIN, getHeight() - (bounds.y + bounds.height) + AUTO_SCROLL_MARGIN, getWidth() - (bounds.x + bounds.width) + AUTO_SCROLL_MARGIN);
		}
		return new Insets(AUTO_SCROLL_MARGIN, AUTO_SCROLL_MARGIN, AUTO_SCROLL_MARGIN, AUTO_SCROLL_MARGIN);
	}