public function init($arr = null)
 {
     if ($arr != null) {
         parent::init($arr);
         foreach ($arr as $arry) {
             if (is_array($arry["attributes"]) && $arry["attributes"] != null) {
                 if ($arry["name"] == 'balance') {
                     $tmp = array();
                     $atr = array();
                     foreach ($arry["attributes"] as $key => $val) {
                         $atr[0]["name"] = $key;
                         $atr[0]["text"] = $val;
                     }
                     $atr[1]["name"] = "value";
                     $atr[1]["text"] = $arry["text"];
                     $this->Balance = new BasicAmountType();
                     $this->Balance->init($atr);
                 }
             }
             if ($arry != null && isset($arry['text']) && $arry['name'] == 'balancetimestamp') {
                 $this->BalanceTimeStamp = $arry["text"];
             }
             if (is_array($arry["children"]) && $arry["children"] != null) {
                 $i = 0;
                 while (true) {
                     if ($arry["name"] == "balanceholdings[{$i}]") {
                         $this->BalanceHoldings[$i] = new BasicAmountType();
                         $this->BalanceHoldings[$i]->init($arry["children"]);
                     } else {
                         break;
                     }
                     $i++;
                 }
             }
             if (is_array($arry["children"]) && $arry["children"] != null && $arry["name"] == "balanceholdings") {
                 $this->BalanceHoldings = new BasicAmountType();
                 $this->BalanceHoldings->init($arry["children"]);
             }
         }
     }
 }