/**
  * @param Wallet $wallet
  * @param Address[] $addresses
  * @param BlockCypherAddressBalance[] $blockCypherAddressBalances
  * @param ApiRouter $apiRouter
  * @param ExplorerRouter $explorerRouter
  * @return AddressListItemDto
  */
 public static function from($wallet, $addresses, $blockCypherAddressBalances, $apiRouter, $explorerRouter)
 {
     $addressListItemDtos = array();
     foreach ($addresses as $address) {
         $addressListItemDto = AddressListItemDto::from($address, $blockCypherAddressBalances[$address->getAddress()], $apiRouter->address($address->getAddress(), $wallet->getCoinSymbol(), $wallet->getToken()), $explorerRouter->address($address->getAddress(), $wallet->getCoinSymbol()));
         $addressListItemDtos[] = $addressListItemDto;
     }
     return $addressListItemDtos;
 }