@Override
    public ArrayList<BalanceLine> getBusinessObjects(){
        ArrayList<Account> leftAccounts = getLeftAccounts();
        ArrayList<Account> rightAccounts = getRightAccounts();

        int nrLeft = leftAccounts.size();
        int nrRight = rightAccounts.size();
        int min,max;
        if (nrLeft > nrRight) {
            max = nrLeft;
            min = nrRight;
        } else {
            max = nrRight;
            min = nrLeft;
        }
        ArrayList<BalanceLine> balanceLines = new ArrayList<>();
        for(int i = 0; i < min; i++) {
            Account leftAccount = leftAccounts.get(i);
            Account rightAccount = rightAccounts.get(i);
            balanceLines.add(new BalanceLine(leftAccount,rightAccount));
        }
        for(int i = min; i < max; i++) {
            if(nrLeft > nrRight) {
                Account leftAccount = leftAccounts.get(i);
                balanceLines.add(new BalanceLine(leftAccount,null));
            } else {
                Account rightAccount = rightAccounts.get(i);
                balanceLines.add(new BalanceLine(null,rightAccount));
            }
        }
        return balanceLines;
    }