Adding to a lookup when criteria met. WARNING... COMPLICATED

Adding to a lookup when criteria met. WARNING... COMPLICATED

So... Trying to add a "product" (aka ID of a house) to a customer within the approval process. The "PotentialRevedyHomes" is the field I want to add the "Revedy_ID" to, but only when listing price is within the limits the customer sets and the home is within the zip code of where the customer is looking. I also want to make sure it is not a house they have declined or already liked. The problem is these are all lists and I can't get the match to happen. There is not an error, but it does not add anything to the "PotentialREvedyHomes." HELP!!! 

Code:
for each  Home in Client_Data_set[Price_From <= input.Listing_price && Price_To >= input.Listing_price && Lowest_Cap_Rate <= input.CAP_Rate_Percent]
{
ZipCodeList = List(Home.SearchAreaZipcode);
DeclinedHomeList = List(Home.Declined_Homes);
LikedHomeList = List(Home.LikedHomes);
PotentialHomeList = List(Home.PotentialRevedyHomes);
HomeList = PotentialHomeList;
HomeList.add(LikedHomeList);
HomeList.add(DeclinedHomeList);
if(ZipCodeList.contains(input.Rental_Address.postal_Code) == True && HomeList.contains(input.Revedy_ID) = False)
{
PotentialHomeList.add(input.Revedy_ID);
Home.PotentialRevedyHomes=PotentialHomeList;
}
}