public void drawMe(Graphics2D g) {
		if (!general)
			drawPercentComparisonLines(g);
		int J = 0;
		for (Rectangle2D.Float bar : bars) {
			if (general) {
				if (minMaxHisto.x == J || minMaxHisto.y == J)
					g.setColor(COLOR_HISTOGRAM_BAR_THIS);
				else
					g.setColor(COLOR_HISTOGRAM_BAR);
			} else {
				g.setColor(COLOR_HISTOGRAM_BAR_VOL);
			}
			g.draw(bar);
			g.fill(bar);
			J++;
		}
		g.setColor(new Color(20, 20, 10 + 10 * 19));
		g.draw(border);

		if (!general) {

			g.setColor(new Color(100, 100, 200, 200));
			g.setFont(new Font("Sans-Serif", Font.ITALIC, 17));
			int top = 25;
			int left = 22;
			int inc = 25;
			g.drawString("total variability: ", left, top);
			float marketPercentChange = (int) (100 * (minMaxMarket.y - minMaxMarket.x) / minMaxMarket.x);
			g.drawString("market: " + marketPercentChange, left, top + inc);
			float individualPercentChange = (int) (100 * (minMaxLine.y - minMaxLine.x) / minMaxLine.x);
			g.drawString(ticker + ": " + individualPercentChange, left, top
					+ inc * 2);

			g.drawString("overall change: ", left, top + inc * 4);
			float market = (int) (100 * (startFinishMarket.y - startFinishMarket.x) / startFinishMarket.x);
			g.drawString("market: " + market, left, top + inc * 5);
			float individual = (int) (100 * (startFinishTicker.y - startFinishTicker.x) / startFinishTicker.x);
			g.drawString(ticker + ": " + individual, left, top + inc * 6);
		}

		if (general) {
			g.setColor(Color.blue);

			g.draw(timePath);
			g.setColor(Color.white);
			g.drawString(category, left + PIXELS_BORDER, top + 15);

			g.drawString("" + minMaxLine.x, eWidth - 100, top + PIXELS_HEIGHT
					- PIXELS_BORDER);
			g.drawString("" + minMaxLine.y, eWidth - 100, top + 13);
		} else {
			Stroke s = g.getStroke();
			g.setStroke(STROKE);
			g.setColor(Color.magenta);
			g.draw(timePath);
			g.setColor(MARKET_VALUE);
			g.draw(marketTimePath);
			g.setStroke(s);

			drawPriceRangeWindows(g);
		}

	}