public List<AddressModel> GetAddressList(int startIndex, int endIndex){
		
		//Init model
		List<AddressModel> model = new ArrayList<AddressModel>();
		
		//Get Data
		 Connection conn = null;
		 PreparedStatement st = null;
		 ResultSet rs = null;
		 try {
			  // ConnectionManager.GetComboPooledDataSource() is an instance of c3p0's ComboPooledDataSource
			  conn = ConnectionManager.GetComboPooledDataSource().getConnection();
			  
			  
		
	  
			  st = conn.prepareStatement("SELECT RowId, Id, Name, Address1, Address2, City, State, Zip, DML_TS FROM  [GeocodeEngine].[dbo].[Address] WHERE RowId >= " + startIndex + " AND RowId <= " + endIndex);  
			  rs = st.executeQuery();
			  
			  
			  //Add data to model
			  while ( rs.next() ) {
					   AddressModel temp = new AddressModel(
							   								UUID.fromString(rs.getString("Id")),
							   								rs.getString("Name"),
							   								rs.getString("Address1"),
							   								rs.getString("Address2"),
							   								rs.getString("City"),
							   								rs.getString("State"),
							   								rs.getString("Zip")
							   								);
					   model.add(temp);
				   
			  }
		 }
		 
		 catch (SQLException e) {
		  e.printStackTrace();
		 }
		 finally {
		  if ( rs != null ) {
		   try { rs.close(); } catch (SQLException e) { e.printStackTrace(); }
		  }
		  if ( st != null ) {
		   try { st.close(); } catch (SQLException e) { e.printStackTrace(); }
		  }
		  if ( conn != null ) {
		   try { conn.close(); } catch (SQLException e) { e.printStackTrace(); }
		  }
		 }
	
		
		return model;
	}