When I see some framework source code like dubbo, I often see code similar to the following:
public class Person {
   int age;
   String name;
   List<Person> persons = new ArrayList<Person>();
   public Person findPerson(int lowAge,int highAge){
         List<Person> localPersons = persons;
         for(Person p : localPersons){
              if( p.age >=lowAge && p.age <highAge){
                   return p;
              } 
         }
         return null;
   }
}
I just do not understand why not using the member variables persons directly. Local variable localPersons looks redundant to me.
 
     
    