public GutterIconInfo[] getTrackingIcons(int line)
								throws BadLocationException {

		List retVal = new ArrayList(1);

		if (trackingIcons!=null) {
			int start = textArea.getLineStartOffset(line);
			int end = textArea.getLineEndOffset(line);
			if (line==textArea.getLineCount()-1) {
				end++; // Hack
			}
			for (int i=0; i<trackingIcons.size(); i++) {
				GutterIconImpl ti = getTrackingIcon(i);
				int offs = ti.getMarkedOffset();
				if (offs>=start && offs<end) {
					retVal.add(ti);
				}
				else if (offs>=end) {
					break; // Quit early
				}
			}
		}

		GutterIconInfo[] array = new GutterIconInfo[retVal.size()];
		return (GutterIconInfo[])retVal.toArray(array);

	}