public class Organizations implements Criteria
{
   private String organizations;
   
   public Organizations(String organizations)
   {
      this.organizations = organizations;
   }
   
   public boolean equals(Object o)
   {
      return o instanceof Organizations && ((Organizations)o).organizations.equals(this.organizations);
   }
   
   public String getValue()
   {
      return organizations;
   }
}

@@ -1,53 +1,167 @@
-public class Organizations implements Criteria%0D%0A%7B
+import java.util.Arrays;%0D%0Aimport java.util.Collections;%0D%0A%0D%0Apublic class Organizations implements Criteria%0D%0A%7B%0D%0A   public static final double MATCH_PERCENTAGE = 0.5;
 %0D%0A  
@@ -169,22 +169,28 @@
 private 
+List%3C
 String
+%3E
  organiz
@@ -227,22 +227,28 @@
 zations(
+List%3C
 String
+%3E
  organiz
@@ -356,32 +356,1575 @@
 o)%0D%0A   %7B%0D%0A      
+if (o instanceof Organizations)%0D%0A      %7B%0D%0A         List%3CString%3E orgs2 = ((Organizations)o).organizations;%0D%0A         int matchedOrgs = 0;%0D%0A         int avgOrgs = (organizations.length() + orgs2.length()) / 2;%0D%0A         %0D%0A         // Count the number of matched organizations between both lists%0D%0A         for (int i = 0; i %3C organizations.length(); i++)%0D%0A         %7B%0D%0A            if (orgs2.contains(organizations.get(i)))%0D%0A            %7B%0D%0A               matchedOrgs++;%0D%0A            %7D%0D%0A         %7D%0D%0A         %0D%0A         // Check if the number of matched organizations reaches the threshold of what is a %22match%22%0D%0A         if ((double)matchedOrgs / avgOrgs %3E MATCH_PERCENTAGE)%0D%0A         %7B%0D%0A            return true;%0D%0A         %7D%0D%0A         return false;%0D%0A      %7D%0D%0A         %0D%0A      /*   %0D%0A         if (organizations.length() == orgs2.length())%0D%0A         %7B%0D%0A            // Just for good measure in case they weren't sorted already (WHICH THEY SHOULD BE)%0D%0A            Collections.sort(organizations);%0D%0A            Collections.sort(orgs2);%0D%0A            %0D%0A            // Iterate through each of the strings and check for equality%0D%0A            //  NOTE: both lists are equal length which is why this loop takes shortcuts%0D%0A            for (int i = 0; i %3C organizations.length(); i++)%0D%0A            %7B%0D%0A               if (organizations.get(i).equals(orgs2.get(i)) == false)%0D%0A               %7B%0D%0A                  return false;%0D%0A               %7D%0D%0A            %7D%0D%0A            %0D%0A            return true;%0D%0A         %7D%0D%0A      %7D%0D%0A      %0D%0A      return false;%0D%0A      %0D%0A      //
 return o instanc
@@ -2006,16 +2006,26 @@
 ions);%0D%0A
+      */%0D%0A
    %7D%0D%0A  

Update Organizations.java