public void run() {
		while (searchThread.isAlive()
				|| !FileSearchUtils.allFoundJars.isEmpty()) {
			if (SearchUtils.allFoundJars.isEmpty()) {
				continue;
			}

			if (!SearchUtils.anyMatchedRecord) {
				SearchUtils.anyMatchedRecord = true;
			}

			JarBean bean = FileSearchUtils.allFoundJars.remove(0);
			addCount();

			if (bean.getPackageName() != null
					&& !bean.getPackageName().isEmpty()) {
				editorPane.append(bean.getPackageName() + " under "
						+ bean.getLocation() + File.separator
						+ bean.getJarName() + "\r\n");
			} else if (bean.getClassName() != null
					&& !bean.getClassName().isEmpty()) {
				editorPane.append(bean.getClassName() + " under "
						+ bean.getLocation() + File.separator
						+ bean.getJarName() + "\r\n");
			} else {
				editorPane.append(bean.getLocation() + File.separator
						+ bean.getJarName() + "\r\n");
			}
		}
		if (!SearchUtils.anyMatchedRecord) {
			editorPane.append("search completely...\r\n");
			editorPane.append("no matched item found...\r\n");
		}

		FileSearchUtils.endTime = System.currentTimeMillis();
		// editorPane
		// .append("total spent "
		// + ((FileSearchUtils.endTime - FileSearchUtils.startTime) / 1000)
		// + " seconds");

		progressLabel
				.setText("search completely "
						+ count
						+ " items found"
						+ " total spent "
						+ ((FileSearchUtils.endTime - FileSearchUtils.startTime) / 1000)
						+ " seconds");
		search.setEnabled(true);
	}