private JLabel[] buildHeaders(int match, JPanel panel, boolean blankOut, JLabel[] clabels) {
		Vector columns = null;
		if (cdata != null)
			columns = cdata.getColumnData(match);

		if (columns != null && columns.size() > 0) {
			JLabel[] columnLabels = new JLabel[columns.size()];

			for (int i = 0; i < columns.size(); i++) {
				Hashtable column = (Hashtable) columns.get(i);

				JLabel columnLabel = new JLabel();

				String text = (String) column.get("title");
				Color foreground = Color.blue;

				if (blankOut) {
					foreground = columnLabel.getBackground();
					columnLabel.setMaximumSize(new Dimension(32000, 2));
					if (clabels != null)
						columnLabel.setPreferredSize(new Dimension(
								clabels[i].getPreferredSize().width, 2));
				}

				columnLabel.setText(text);
				columnLabel.setForeground(foreground);
				columnLabel.setHorizontalAlignment(SwingConstants.CENTER);

				if (i == (columns.size() - 1))
					gridbag.setConstraints(columnLabel, endRowConstraints);
				else
					gridbag.setConstraints(columnLabel, normalConstraints);

				panel.add(columnLabel);
				columnLabels[i] = columnLabel;
			}
			return columnLabels;
		}
		// return a default JLabel array if no columns found
		JLabel[] temp = new JLabel[1];
		temp[0] = new JLabel();
		temp[0].setPreferredSize(new Dimension(200, 15));
		return temp;
	}