static void OnDrawSceneView(SceneView current)
    {
        IKSolver2D IK = null;

        if (Selection.activeGameObject != null)
        {
            IK = Selection.activeGameObject.GetComponentInChildren <IKSolver2D>();
            if (IK == null)
            {
                IK = Selection.activeGameObject.GetComponent <IKSolver2D>();
            }
        }
        if (IK != null)
        {
            float     boneLenght = 0f;
            Transform chain      = IK.EndTransform == null?IK.transform:IK.EndTransform;
            if (chain.parent != null)
            {
                DrawBone(chain.parent.position, chain.position, IK.GetWorldNormalToPlane());
            }
            if (chain.parent != null && chain.parent.parent != null)
            {
                boneLenght = DrawBone(chain.parent.parent.position, chain.parent.position, IK.GetWorldNormalToPlane());
            }

            if (IK.Target != null)
            {
                float radius = boneLenght / 10f;               //target radius is 10% of bone length
                Handles.color = Color.red;
                Handles.DrawSolidDisc(IK.Target.position, IK.GetWorldNormalToPlane(), radius);
            }
        }
    }