public function validate($validator, $values, $arguments = array())
 {
     $values = $values + array('pc' => array(), 'mobile' => array(), 'invalid' => array());
     $inputList = explode("\n", opToolkit::unifyEOLCharacter($values['mail_address']));
     $inputList = array_unique(array_map('trim', $inputList));
     foreach ($inputList as $value) {
         try {
             $result = parent::validate($validator, array('mail_address' => $value));
             if (!empty($result['pc_address'])) {
                 $values['pc'][] = $result['pc_address'];
             } elseif (!empty($result['mobile_address'])) {
                 $values['mobile'][] = $result['mobile_address'];
             }
         } catch (sfValidatorError $e) {
             $values['invalid'][] = $value;
         }
     }
     if (empty($values['pc']) && empty($values['mobile'])) {
         throw new sfValidatorError($validator, 'All of the inputted E-mail addresses are invalid.');
     }
     return $values;
 }