public void DrawCap(Vector3 pos, Vector3 startPos, Vector3 endPos, Quaternion rot, Color shadowColor, Color lineColor)
        {
            if (FlowSystem.GetZoom() < 1f)
            {
                return;
            }

            if (this.arrow == null)
            {
                this.arrow = Resources.Load <Texture2D>("UI.Windows/Flow/Arrow");
            }

            var size = 12f;

            size /= FlowSystem.GetZoom();

            //pos = this.editor.zoomDrawer.ConvertScreenCoordsToZoomCoords(pos, topLeft: true);

            var scrollPos = -FlowSystem.GetScrollPosition();
            var offset    = -8f;

            if (this.editor.scrollRect.Contains(new Vector3(pos.x - scrollPos.x + FlowSystemEditorWindow.SETTINGS_WIDTH + offset, pos.y - scrollPos.y + FlowSystemEditorWindow.TOOLBAR_HEIGHT + offset, 0f)) == false)
            {
                return;
            }

            var shadowOffset = Vector3.one * 1f;

            shadowOffset.z = 0f;

            var v1 = startPos - endPos;

            v1.x = -v1.x;
            var v2 = Vector3.left;

            var angle = Mathf.Atan2(
                Vector3.Dot(Vector3.back, Vector3.Cross(v1, v2)),
                Vector3.Dot(v1, v2)) * Mathf.Rad2Deg;

            var oldColor = GUI.color;

            GUI.color = shadowColor;
            GUIExt.DrawTextureRotated(new Rect(pos.x - size * 0.5f + shadowOffset.x, pos.y - size * 0.5f + shadowOffset.y, size, size), arrow, -angle + 180f);
            GUI.color = lineColor;
            GUIExt.DrawTextureRotated(new Rect(pos.x - size * 0.5f, pos.y - size * 0.5f, size, size), arrow, -angle + 180f);

            GUI.color = oldColor;

            /*Handles.color = shadowColor;
             * Handles.ConeCap(-1, pos + shadowOffset, rot, 15f);
             * Handles.color = lineColor;
             * Handles.ConeCap(-1, pos, rot, 15f);*/
        }