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

		JLabel matchNum = new JLabel(matchStr);
		Color foreground = Color.blue;

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

		matchNum.setForeground(foreground);
		matchNum.setHorizontalAlignment(SwingConstants.CENTER);
		if (columns == null || columns.size() < 1)
			gridbag.setConstraints(matchNum, endRowConstraints);
		else
			gridbag.setConstraints(matchNum, normalConstraints);

		panel.add(matchNum);

		// take the match label out of the clabels array
		JLabel[] nonMatchLabels = clabels;
		if (clabels != null && clabels.length > 1) {
			nonMatchLabels = new JLabel[clabels.length - 1];
			for (int i = 0; i < nonMatchLabels.length; i++)
				nonMatchLabels[i] = clabels[i + 1];
		}

		JLabel[] temp = buildHeaders(match, panel, blankOut, nonMatchLabels);

		// put the match label back in for the return array
		JLabel[] allLabels = new JLabel[temp.length + 1];
		allLabels[0] = matchNum;
		for (int i = 0; i < temp.length; i++)
			allLabels[i + 1] = temp[i];
		return allLabels;
	}