@Override
	protected void paintComponent(Graphics g) {
		Insets insets = getInsets();
		Path2D.Double path = new Path2D.Double();
		int bottom = getHeight();
		path.moveTo(0, bottom);
		path.lineTo(0, 6);
		path.curveTo(0, 6, 0, 1, 6, 1);
		int width = getWidth();
		path.lineTo(width - 7, 1);
		path.curveTo(width - 7, 1, width - 1, 1, width - 1, 7);
		path.lineTo(width - 1, bottom);
		DockContainer dc = getDockContainer();
		Color base = DockColors.BACKGROUND;
		if (dc != null) {
			if (dc.getCurrentDockable() == mDockable) {
				base = dc.isActive() ? DockColors.ACTIVE_TAB_BACKGROUND : DockColors.CURRENT_TAB_BACKGROUND;
			}
		}
		Graphics2D gc = (Graphics2D) g;
		gc.setPaint(new GradientPaint(new Point(insets.left, insets.top), base, new Point(insets.left, getHeight() - (insets.top + insets.bottom)), Colors.adjustBrightness(base, -0.1f)));
		gc.fill(path);
		gc.setColor(DockColors.SHADOW);
		gc.draw(path);
	}