Parenting a GameObject to a bone Transform not producing correct results

I am trying to attach a right-hand bone as a parent to a baseball bat. However I am not able to place the bat correctly in local space and getting the following results. 43535-capture.jpg

Here is is my code:

public GameObject preFab;
public Transform bonePostion;
private GameObject batClone;
// Use this for initialization
void Start () 
{
   batClone = Instantiate(preFab, transform.position, transform.rotation) as GameObject;
   batClone.transform.parent = bonePostion.transform;

   Debug.Log("Position After " + batClone.transform.localPosition);
   Debug.Log("Rotation After " + batClone.transform.localRotation);
}

Please any help would be much appreciated. This should be easy and I am not sure what’s wrong.

Did you fixed this? i have the same problem.