private Product createProduct(String barcode, String description, String sizeVal,
			Unit sizeUnit, String supply, String shelfLife) {

		String _description = description;
		BarCode _barCode = new BarCode(barcode);
		float _sizeVal;
		int _supply;
		int _shelfLife;

		try {
			_sizeVal = Float.parseFloat(sizeVal);
			if (Float.isInfinite(_sizeVal) || Float.isNaN(_sizeVal) || _sizeVal < 1) {
				return null;
			}
		} catch (Exception e) {
			return null;
		}

		try {
			_shelfLife = Integer.parseInt(shelfLife);
		} catch (Exception e) {
			return null;
		}

		try {
			_supply = Integer.parseInt(supply);
		} catch (Exception e) {
			return null;
		}

		Size size = new Size(sizeUnit, _sizeVal);

		if (Product.canCreate(_description, _barCode, _shelfLife, _supply, size) == false) {
			return null;
		}

		Product product = new Product(_description, _barCode, _shelfLife, _supply, size);

		return product;
	}