public void showPayment(String from, String to, double amount)
   {
     Player paymentFrom = iConomy.getBukkitServer().getPlayer(from);
     Player paymentTo = iConomy.getBukkitServer().getPlayer(to);
 
     if (paymentFrom != null) {
       from = paymentFrom.getName();
     }
 
     if (paymentTo != null) {
       to = paymentTo.getName();
     }
 
     Holdings From = iConomy.getAccount(from).getHoldings();
     Holdings To = iConomy.getAccount(to).getHoldings();
 
     if (from.equals(to)) {
       if (paymentFrom != null)
         Messaging.send(paymentFrom, this.Template.color("payment.self"));
     }
     else if ((amount < 0.0D) || (!From.hasEnough(amount))) {
       if (paymentFrom != null)
         Messaging.send(paymentFrom, this.Template.color("error.funds"));
     }
     else {
       From.subtract(amount);
       To.add(amount);
 
       Double balanceFrom = Double.valueOf(From.balance());
       Double balanceTo = Double.valueOf(To.balance());
 
       iConomy.getTransactions().insert(from, to, balanceFrom.doubleValue(), balanceTo.doubleValue(), 0.0D, 0.0D, amount);
       iConomy.getTransactions().insert(to, from, balanceTo.doubleValue(), balanceFrom.doubleValue(), 0.0D, amount, 0.0D);
 
       if (paymentFrom != null) {
         Messaging.send(paymentFrom, this.Template.color("tag.money") + this.Template.parse("payment.to", new String[] { "+name,+n", "+amount,+a" }, new String[] { to, iConomy.format(amount) }));
 
         showBalance(from, paymentFrom, true);
       }
 
       if (paymentTo != null) {
         Messaging.send(paymentTo, this.Template.color("tag.money") + this.Template.parse("payment.from", new String[] { "+name,+n", "+amount,+a" }, new String[] { from, iConomy.format(amount) }));
 
         showBalance(to, paymentTo, true);
       }
     }
   }