Vector2 GetConnectedInPortPosition(Connection connection)
        {
            var sourcePos = connection.sourceNode.nodeRect.center;
            var thisPos = nodeRect.center;

            if (sourcePos.x > nodeRect.x && sourcePos.x < nodeRect.xMax)
                return new Vector2(nodeRect.center.x, nodeRect.y);
                //return new Vector2(nodeRect.xMax, nodeRect.y + 10);

            if (sourcePos.y > nodeRect.y - 100 && sourcePos.y < nodeRect.yMax){
                if (sourcePos.x <= thisPos.x)
                    return new Vector2(nodeRect.x, nodeRect.y + 10);
                if (sourcePos.x > thisPos.x)
                    return new Vector2(nodeRect.xMax, nodeRect.y + 10);
            }

            if (sourcePos.y <= thisPos.y)
                return new Vector2(nodeRect.center.x, nodeRect.y);
            if (sourcePos.y > thisPos.y)
                return new Vector2(nodeRect.center.x, nodeRect.yMax);

            return thisPos;
        }