ArrayList related debugging question
<p>Please help me explaning this. I can't seem to figure out why this produce a null pointer exception</p>

<pre><code>/* Try to find customer in customer list, if not in list add to list with a 
new plan; otherwise add additional plan to customer*/


for(int a = 0; a &lt; dataset.length; a++){

       if(customer_name_list.contains(dataset[a][CLIENT_NAME])){
            int temp_index = 0;

//NULLPOINTEREXCEPTION OCCURRED ON THE FOLLOWING LINE 
            while(!customer.get(temp_index).name.equals(dataset[a][CLIENT_NAME])){
                temp_index++;
            }
            customer.get(temp_index).add_plan(dataset[a][PLAN], dataset[a][DETAIL]);
       }

       else{
                Customer temp_customer = new Customer(dataset[a][CLIENT_NAME], dataset[a][PLAN], dataset[a][DETAIL]);

       customer.add(temp_customer);
       customer_name_list.add(dataset[a][CLIENT_NAME]);
       }
   }
</code></pre>

<p>Thank you for your help</p>
