private void fillRow(Row sourceRow, List<Row> rows, Row row) {
        int rowWidth = row.getWidth();
        while (!sourceRow.isEmpty()) {
            Stack stack = sourceRow.get(0);
            rowWidth += stack.getWidth();
            if (rowWidth > playAreaWidth) break;
            if (stack.getHeight() > row.getHeight()) {
                if (getRowsHeight(rows) - row.getHeight() + stack.getHeight() > playAreaHeight) break;
            }
            row.add(sourceRow.remove(0));
        }
    }