Update README.md

private void determineOptimumProducts( final Product[] subset, final Integer subsetLength, final Integer nextIndex) {
	    if (subsetLength == subset.length) 
	    {
	    	checkClosestSum(subset);
	    } 
	    else 
	    {
	        for (int j = nextIndex; j < productList.length; j++) {
	            subset[subsetLength] = productList[j];
	            determineOptimumProducts( subset, subsetLength + 1, j + 1);
	        }
	    }
	}
	
	/**
	 * This function checks whether the subset of product 
	 * are having their total price closest to the total amount
	 * provided
	 * @param productSet Set of products 
	 */
	private void checkClosestSum(final Product[] productSet)
	{
		Double totalAmount = 0.0;
		for (Product product: productSet)
		{
			totalAmount += product.getPrice();
		}
		Double newDiff = Math.abs(totalAmount - this.amountProvided);
		if (diff > newDiff)
		{
			diff = newDiff;
			this.selectedProducts=productSet.clone();					
		}
	}