private double findHighestPrice(Date date) {
		List<Order> nullBids = new ArrayList<Order>();
		// Find the highest price just before the newly generated time.
		double highest = bidList.get(FIRST_ELEMENT).getPrice();
		for (Order bid : bidList) {
			// Check if our dates are after the bid list dates.
			try {
				if (date.after(bid.getDateTime())) { 
					if (highest < bid.getPrice()) { 
						highest = bid.getPrice();
					}
				}
			} catch (NullPointerException e) {
				// Bid order invalid, mark for cleanup
				nullBids.add(bid);
			}
		}
		
		// Clean up invalid bids
		bidList.removeAll(nullBids);
		return highest;
	}