arrangeProducts method
Implementation
List<Product> arrangeProducts(List<Product> products) {
List<Product> orderedProducts = [];
List<Product> pendingSpan1 = [];
for (Product product in products) {
if (product.span == 1) {
pendingSpan1.add(product);
} else {
while (pendingSpan1.length >= 2) {
orderedProducts.add(pendingSpan1.removeAt(0));
orderedProducts.add(pendingSpan1.removeAt(0));
}
orderedProducts.add(product);
}
}
orderedProducts.addAll(pendingSpan1);
return orderedProducts;
}