Separate eggs. Allow egg yolks, egg whites and butter to stand at room temperature for 30 minutes. Meanwhile, grease bottoms of three 9x1-1/2-inch round cake pans. Line bottoms of pans with waxed paper; grease and lightly flour pans; set pans aside. In a medium bowl, combine flour, baking soda, and salt.
In a very large mixing bowl, beat butter with an electric mixer on medium to high speed for 30 seconds. Add sugar; beat until well combined. Add the egg yolks and vanilla; beat on medium speed until combined. Alternately add flour mixture and buttermilk to butter mixture, beating on low speed after each addition just until combined. Fold in coconut and nuts.
Thoroughly wash beaters. In a medium mixing bowl, beat egg whites until stiff peaks form (tips stand straight). Fold about one-third of the egg whites into cake batter to lighten. Fold in remaining whites. Spread batter evenly into the prepared pans.
Bake in a 350 degree F oven about 25 minutes or until a wooden toothpick inserted near centers comes out clean. Cool cake layers in pans on wire racks for 10 minutes. Remove cake layers from pans. Remove waxed paper and discard. Cool cake layers thoroughly on wire racks.
Place one cake layer on a serving plate. Spread with about 1/2 cup Cream Cheese Frosting. Top with second cake layer. Spread with 1/2 cup frosting. Place the remaining cake layer on top; spread top and sides of cake with remaining frosting. Store cake in the refrigerator for up to 2 days. Let stand at room temperature 30 minutes to 1 hour before serving. Makes 16 servings.