/** * Adds the given product to this product manager if it does not already exists and sets it's reference number one * biger than the greatest reference number in this product manager. * * @param product the product to be added, ignored if <code>null</code> */ public void addProduct(Product product) { if (product != null) { if (contains(product)) { return; } if (productList.add(product)) { setProductManager(product); if (product.getRefNo() <= 0) { product.setRefNo(getNextRefNo() + 1); } product.addProductNodeListener(productNodeNameChangeListener); fireEvent(product, PRODUCT_ADDED); } } }