private synchronized void fillProductList(Category[] categories) {
		logger.fine("running fillProductList()");
		
		productList = mdi.getProductsByCategoryPath(categories);

		String[] header = new String[]{"Produktgruppe", "Artikelnummer",
				"Artikelbezeichnung"};

		List<String[]> rows = new ArrayList<String[]>();
		for (int i = 0; i < productList.size(); i++) {
			Product prod = productList.get(i);
			String[] dump = new String[3];
			dump[0] = prod.isBook() ? "Buch" : prod.isDvd() ? "DVD" : prod
					.isMusic() ? "Musik" : "unbekannt";
			dump[1] = "" + prod.getAsin();
			dump[2] = prod.getTitle();

			rows.add(dump);
		}
		this.table.fillTable(header, rows);
	}