public Integer getBiggestBorrower() {
        Integer id = -1;
        Integer max = 0;
        Map<Integer, Integer> total = new HashMap<Integer, Integer>();

        for (Integer stockId : this.stock.keySet()) {
            Map<Integer, Integer> currentStock = stock.get(stockId)
                    .getBookingTotals();

            for (Integer borrowerId : currentStock.keySet()) {
                if (total.get(borrowerId) == null) {
                    total.put(borrowerId, currentStock.get(borrowerId));
                } else {
                    if (currentStock.get(borrowerId) != null) {
                        total.put(borrowerId, total.get(borrowerId)
                                + currentStock.get(borrowerId));
                    }
                }
            }
        }

        for (Integer i : total.keySet()) {
            if (i != -1 && total.get(i) > max) {
                max = total.get(i);
                id = i;
            }
        }

        if (id == -1) {
            return null;
        }

        return id;
    }