private void drawInitialCardsToStartingHands() {
        int xDistance = 150;
        int yDistance = 140;
        int handsOnRow = 4;
        switch (gameType) {
            case SEVEN_STUD:
                xDistance = 220;
                handsOnRow = 3;
                break;
            case FIVE_DRAW:
                xDistance = 160;
                break;
        }

        Insets insets = container.getInsets();
        for (int i = 0; i < numberOfStartingHands; i++) {
            AbstractStartingHand hand = startingHands[i];
            List<Card> cards = hand.getCards();

            for (int j = 0; j < cards.size(); j++) {
                JLabel cardLabel;
                try {
                    cardLabel = cardDrawer.draw(cards.get(j), 30 + xDistance * (i % handsOnRow)
                            + insets.left + 30 * j, 350 + yDistance * (i / handsOnRow), 0, false);
                    cardLabelsInStartingHands[i].add(cardLabel);
                } catch (IOException ex) {
                    Logger.getLogger(SimulationStarter.class.getName()).log(Level.SEVERE, null, ex);
                }
                container.remove(drawnCards.get(cards.get(j)));
            }
        }
    }