public synchronized static Customer find(Integer customerID) throws SQLException
	{
		Customer customer = null;
		Connection connection = null;
		PreparedStatement  prepStmt = null;

		try 
		{
			connection = DB.getConnection();
			connection.setAutoCommit(true);

			prepStmt = connection.prepareStatement("SELECT * FROM Customer WHERE CustomerID = ?;");
			prepStmt.setInt(1, customerID);
			prepStmt.setMaxRows(1); 

			ResultSet rs = prepStmt.executeQuery();

			while (rs.next())
			{
				customer = new Customer();

				customer.CustomerID = rs.getInt("CustomerID");
				customer.FirstName = rs.getString("FirstName");
				customer.LastName = rs.getString("LastName");
				customer.AddressLine1 = rs.getString("AddressLine1");
				customer.AddressLine2 = rs.getString("AddressLine2");
				customer.City = rs.getString("City");
				customer.State = rs.getString("State");
				customer.Country = rs.getString("Country");
				customer.PhoneNumber = rs.getString("PhoneNumber");
				customer.Email = rs.getString("Email");
				customer.loadOrders();
			}
			rs.close();
			prepStmt.close();
			DB.closeConnection();
			return customer;
		}
		catch (Exception e) 
		{
	    	throw e;
		}
	}