TIPS: Leave butter and cream cheese out at room temperature for at least 4 hours. Also, leave eggs and buttermilk out for 30 minutes to an hour before starting cake. This insures better results.
BUTTERMILK SUBSTITUTE: Put 1 Tablespoon of vinegar or lemon juice into measuring cup and finish filling with milk to equal the one cup of buttermilk. Stir vigoriously and let stand for 5 minutes.
NOTE: You can use all purpose flour but make sure you put 1 teaspoon of baking soda in the buttermilk, stir well and let it stand for a few minutes. Also, use 1/2 teaspoon of salt with the flour.
Preheat oven to 325. Grease and flour 3 cake pans. Seperate egg whites from yolks and beat the egg whites to a stiff peak.
CAKE: Using an electric mixer cream butter, shortening and sugar until smooth and creamy. Add egg yolks, buttermilk and vanilla and mix thoroughly until well blended. Add in coconut then the flour and mix thoroughly using a spoon. Now add in the nuts and combine well. Last, "fold" in the egg whites.
Pour equally into three prepared cake pans and bake @ 325 for approximately 25-30 minutes. Check them at 25 minutes. They're done when tested with a toothpick. Cool in pans for 10 minutes then turn out and cool completely.
FROSTING: Using an electric mixer, cream together the cream cheese and butter. Gradually add in the powdered sugar and mix until smooth and creamy. Now using a spoon, stir in the vanilla and combine well. Fold in the nuts and blend well. Frost between layers, sides and top of cake. Keep in a cool place.