Preheat oven to 350 F (175 degrees C). Grease and flour 3 - 9 inch round pans.
Sift together the flour, baking soda and salt. Set aside.
In a small saucepan, heat water and 4 ounces chocolate until melted. Remove from heat and allow to cool.
In a large mixing bowl, cream butter and sugar until light and fluffy. Beat in egg yolks, one at a time. Stir in the chocolate and vanilla. Add 1/3 of the flour mixture and 1/2 of the buttermilk and stir until just combined. Add 1/2 of the remaining flour and the remaining butter milk and stir until just combine. Add remaining flour and stir until just combined.
In a large glass or metal mixing bowl, beat egg whites until stiff peaks form. Fold 1/3 of the whites into the batter, then gently fold in remaining whites until no streaks remain.
Divide the batter into prepared pans. Bake in the preheated oven for 30 minutes, or until a toothpick inserted into the center of the cake comes out clean. Allow to cool for 5 minutes in the pan, then turn out onto wire rack to finish cooling.
To make the Filling:
In a saucepan combine 1 cup sugar, evaporated milk, 1/2 cup butter, and 3 egg yolks. Cook over low heat, stirring constantly until thickened. Remove from heat. Stir in coconut, pecans and vanilla. Cool until thick enough to spread.
Assemble the cake:
Note: A traditional German Chocolate Cake has the filling between the layers and on top of the cake not on the sides. If you desire to ice the entire cake with the filling, double the filling recipe.
Place first layer cake on a cake stand. Smooth 1/3 of the filling on the layer. Top with second layer, and spread 1/2 of the remaining filling on the top of the layer. Top with final layer, and smooth the remaining filling over the top. Decorate with pecans, melted chocolate or chocolate shavings if desired.