public function set_from_input($_INPUT = array(), $pre = '')
 {
     try {
         $c_new = new CT1_Cashflows();
         if (count($_INPUT) > 0) {
             foreach ($_INPUT as $i) {
                 if (is_array($i)) {
                     $c = new CT1_Cashflow();
                     $a = $this->annuity_type($i);
                     $a->set_from_input($i);
                     $c->set_annuity($a);
                     $c->set_rate_per_year($i['rate_per_year']);
                     $c->set_effective_time($i['effective_time']);
                     $c_new->add_object($c);
                 }
             }
             $this->set_objects($c_new->get_objects());
             $this->class = $c_new->class;
             return true;
         } else {
             return false;
         }
     } catch (Exception $e) {
         throw new Exception(wfMessage('fm-exception-in')->text() . __FILE__ . ": " . $e->getMessage());
     }
 }