public synchronized DBConnection getDBConnection() {
        if (free.size() == 0) { //If there aren't an free connections
            if (!createMoreConnections()) {
                throw new RuntimeException("Not enough connections");
            }
        }
        DBConnection dbc = free.remove(0);
        used.add(dbc);
        System.out.println(toString());
        return dbc;
    }