Ambrosia Layer Cake

Ingredients:
2 3/4 cups sifted cake flour (not self-rising; sift before measuring)
2 1/2 teaspoons baking powder
1/2 teaspoon salt
1 1/2 sticks (3/4 cup) unsalted butter, softened
1 1/2 cups sugar
4 large whole eggs, at room temperature for 30 minutes
1 tablespoon finely grated fresh orange zest
1 1/2 teaspoons vanilla
1 cup whole milk
2 large whole eggs
3/4 cup sugar
1/4 cup cornstarch
3/4 cup water
1/2 cup fresh orange juice
1/4 cup fresh lemon juice
3 tablespoons unsalted butter
2 teaspoons finely grated fresh orange zest
1 (7-oz) bag sweetened flaked coconut (2 2/3 cups)
2 large egg whites
1 cup sugar
1/4 cup water
2 teaspoons light corn syrup
1 teaspoon vanilla
1 teaspoon fresh lemon juice
2 (9- by 2-inch) round cake pans

Instructions:
Put oven rack in middle position and preheat oven to 350°F. Butter and flour cake pans, knocking out excess flour.
Sift together flour (2 3/4 cups), baking powder, and salt into a bowl.
Beat together butter and sugar with an electric mixer (fitted with paddle attachment if using a stand mixer) at medium-high speed until pale and fluffy, 3 to 5 minutes. Beat in eggs 1 at a time, then beat in zest and vanilla and continue beating 5 minutes more. Reduce speed to low, then add flour mixture and milk alternately in 4 batches, beginning with flour mixture and mixing until batter is just smooth. Divide between cake pans, spreading evenly.
Bake cake layers until they begin to pull away from sides of pans and a wooden pick or skewer comes out clean, 20 to 25 minutes. Cool 5 minutes in pans on racks, then invert cake layers onto racks and cool completely. (Leave oven on for toasting coconut.)
Whisk together eggs in a heatproof bowl until combined well.
With clean dry whisk, stir together sugar, cornstarch, and a pinch of salt in a 1 1/2- to 2-quart heavy saucepan, then whisk in water and juices until smooth. Bring to a boil over moderate heat, whisking, then reduce heat and cook at a bare simmer, whisking constantly, 2 minutes (mixture will be thick).
Add half of hot juice mixture to eggs in a slow stream, whisking, then whisk egg mixture into juices in saucepan and cook over moderately low heat, whisking, just until it reaches a boil. Remove pan from heat, then add butter and zest, whisking until butter is melted. Chill filling, its surface covered with a buttered round of wax paper (buttered side down), until cold, about 30 minutes.
Spread coconut in a shallow baking pan and toast in oven, stirring occasionally, until golden, 12 to 15 minutes.
Beat together egg whites, sugar, water, corn syrup, and a pinch of salt in a large metal bowl with a handheld electric mixer (clean beaters if necessary) until combined. Set bowl over a saucepan of simmering water and beat mixture at high speed until it holds stiff, glossy peaks, 5 to 7 minutes. (Humid weather may necessitate additional beating time.) Remove bowl from heat, then add vanilla and lemon juice and continue beating until frosting is cooled and very thick, 6 to 10 minutes.
Halve each cake horizontally with a long serrated knife. Put 1 layer on a cake stand or large plate and spread with about 3/4 cup filling. Stack remaining cake layers using about 3/4 cup filling between each layer. Spread top and side of cake with frosting and coat cake with coconut, gently pressing to help it adhere.