German Chocolate Cake Frosting

2 (14 ounce) cans sweetened condensed milk
1-1/2 cups lightly packed light brown sugar
6 large egg yolks
1 teaspoon sea salt
1 teaspoon vanilla extract
10 ounces (~ 2¾ cups) toasted, chopped pecan halves
7 ounces (~ 3 cups sweetened flaked coconut), toasted (see note)


Pour the sweetened condensed milk into a heavy bottomed sauce pan. Stir in the brown sugar, yolks, salt and vanilla. Whisk until completely smooth. (Do this before you turn on the heat.)
Turn heat to medium and stir frequently until the mixture almost comes to a boil (but do not let it boil or the yolks will curdle).
After 5 minutes, turn heat to medium-low and stir nearly constantly, until mixture thickens enough to coat the back of a spatula and not run when you drag a spoon through it (don't use your finger because this mixture is hot and will burn you). It should take about 6 to 8 minutes more, from the time you turned the heat down to reach the right consistency. It will thicken more later, when it cools.
Remove from heat.
Set aside about ¼ cup each of the toasted pecans and coconut to garnish the top, and stir the rest into the custard. Let cool a few minutes, but frost the completely cooled cake layers while the frosting is still warm (see note).
To toast coconut, spread thinly on a sheet pan and place in a heated 350 degree F oven. After 4 to 5 minutes, remove and toss with a fork. Return to the oven and toast another 3 minutes. Remove and toss with a fork. By now it will be toasted on the edges. Return to oven for another 2 to 3 minutes. It will be mottled, with some shreds darker than others. Be very careful at the end not to burn it. It can happen quick. It's better to under toast than over toast. I use a toaster oven and it takes 12-14 minutes total. It may take you a few minutes less or more depending on your oven.

There is enough frosting to cover a 3 layer (8-inch rounds) or 2 layer (9-inch rounds) in a thin layer, but I like to just fill the layers and cover the top, leaving the sides bare. You might have ½ cup or so left over (and wouldn't you know, it makes an excellent topping for waffles and pancakes.)