public static void execute() { for (final Site site : ServiceLocator.getPersistance().getSitesWithNotEmptyIncomeSettings()) { if (site.getIncomeSettings() != null && site.getIncomeSettings().getSum() > 0) { final PayPalPaymentRequest request = new PayPalPaymentRequest(); request.setEmail(site.getIncomeSettings().getPaypalAddress()); request.setSum(site.getIncomeSettings().getSum()); request.setNote(StringUtil.getEmptyOrString(site.getIncomeSettings().getPaymentDetails())); request.setSiteId(site.getId()); try { // Here should be default PayPal because we must send money from our system to child // site`s owner, // which decided to use our payment system instead of their own one. ((PayPal) PaymentSystem.newInstance(PaymentMethod.PAYPAL)) .massPayment(Arrays.asList(request), PaymentReason.AUTO_PAYMENT); new SiteManager(site).clearIncomeSettings(); } catch (Exception exception) { Logger.getLogger(IncomeSettingsOwnerMoneySender.class.getName()) .log(Level.SEVERE, "Can`t send money for parent site.", exception); } } } }