public void save(File file) throws Exception {
   int idx = 0;
   int size = pCaches.size();
   if (size == 0) {
     return;
   }
   synchronized (pCaches) {
     StringBuilder sbr = new StringBuilder();
     WalletSeed seed = new WalletSeed(LSystem.getAppPassword());
     for (int i = 0; i < size; i++) {
       WalletItem item = (WalletItem) pCaches.getEntry(i).getValue();
       if (!item.isOnline()) {
         RPAddress address = new RPAddress(item.getPublicKey(), item.getPrivateKey());
         sbr.append(item.getDate());
         sbr.append(',');
         sbr.append(address.getPublic());
         sbr.append(',');
         sbr.append(address.getPrivate());
         sbr.append(',');
         sbr.append(item.getAmount());
         sbr.append(',');
         sbr.append(item.getStatus());
         idx++;
         if (idx < size) {
           sbr.append(LSystem.LS);
         }
       }
     }
     seed.save(file, sbr.toString());
   }
 }