Your createBodyLayer creates a HumanoidModel. Then it gets the body child and adds new parts to it (why you do this instead of overwriting the existing body parts I do not know).
When getting the childs later you try to get the body parts directly, but they are children of the "body" child.
Ok Here is the Updated Code:
The Model Class:
My Renderer class:
And the updated Main Class:
Also, I realized that the Main Class Events shouldn't be static and now the game runs but the model isn't rendering.