1) Preheat the oven to 350°F. Lightly grease a 9" x 13" pan.
2) Whisk together the dry ingredients.
3) Add the eggs, yolks, oil, and vanilla, beating until smooth.
4) Gradually add the water, beating until smooth. Scrape the bottom and sides of the bowl, and beat again till smooth.
5) Combine the sauerkraut and chocolate chips in a food processor or blender, and process till the sauerkraut is no longer stringy. Stir the mixture into the batter.
6) Bake the cake for 35 minutes, until it's nicely domed, feels set in the middle, and a cake tester inserted into the center comes out clean.
7) Remove it from the oven, and set it on a rack to cool. You can turn it out of the pan after about 10 minutes, if you like; but it's much more easier to simply serve it right from the pan.
8) When the cake is cool, make the frosting.
9) Place the 2 egg whites in a large mixing bowl or the bowl of your stand mixer. Beat until the egg whites are foamy and thick; they should mound in the bowl, without holding a peak. Set them aside while you prepare the sugar syrup.
10) Combine the sugar, cream of tartar, water, and salt in a saucepan. Bring to a boil, stirring frequently; the sugar should be dissolved. If the sugar hasn't dissolved, cook and stir a bit more, until it has.
11) Begin to beat the egg whites, and immediately pour the boiling sugar syrup into the egg whites in a slow stream, beating all the while. As you beat, the mixture will thicken.
12) Once all the syrup is added, stir in the coconut flavor or vanilla, and continue to beat till the frosting is thick and will hold a peak.
13) When the icing is very thick and spreadable, fold in the coconut.
14) Spoon the hot icing atop the cooled cake, swirling it decoratively. Garnish with toasted coconut, if desired.
Yield: one cake, about 18 servings.