Preheat your oven to 350°F (175°C).
Cut the stale bolillo bread into thick slices and spread softened butter on both sides. Bake for 5 minutes, then flip the slices and bake for another 5 minutes or until they turn golden on the edges and become dry.
Remove from the oven and let them cool. Cut them into chunks before using. If your bread is fresh, it's best to let it dry out for a few days or until it becomes quite dry. However, if you need to use it right away, you can cut it into thick slices and dry it for a few minutes in a low-temperature oven.
In a saucepan, combine water, double cream, dark brown sugar, cinnamon sticks, and cloves. Bring the mixture to a simmer over medium heat, stirring occasionally until the sugar is dissolved.
Remove the saucepan from heat and let the syrup cool slightly.
In a baking dish, layer half of the bolillo bread slices, and pour half of the warm syrup over, ensuring they are well-soaked.
Sprinkle on raisins, half of the cheeses, sliced almonds, and apples.
Soak the other half of the bread with the rest of the syrup and layer them on top of the apples.
Dot the top of the pudding with cubes of butter, rest of the crumbled feta cheese, and grated cheddar cheese.
Bake the capirotada in the preheated oven for about 30-40 minutes, or until the pudding is golden and bubbly.
Remove from the oven and let it cool slightly before serving.