private int calculateStrikeScore() {
        int score = getThrowsScore();
        if (nextFrame != null) {
            if (nextFrame.getThrows().size() == 1) {
                score += nextFrame.getThrowsScore();
                if (nextFrame.getNextFrame() != null) {
                    if (nextFrame.getNextFrame().getThrows().size() == 1) {
                        score += nextFrame.getNextFrame().getThrowsScore();
                    } else if (!nextFrame.getNextFrame().getThrows().isEmpty()) {
                        score += nextFrame.getNextFrame().getThrows().get(0).getScore();
                    }
                }
            } else if (!nextFrame.getThrows().isEmpty()) {
                score += nextFrame.getThrows().get(0).getScore();
                score += nextFrame.getThrows().get(1).getScore();
            }
        }
        return score;
    }