bool IsSkippableSpliceSourceWithNullSpliceTarget(VisibilityVertex spliceSource, Directions extendDir)
        {
            if (IsSkippableSpliceSourceEdgeWithNullTarget(StaticGraphUtility.FindNextEdge(VisGraph, spliceSource, extendDir)))
            {
                return(true);
            }
            var spliceSourceEdge = StaticGraphUtility.FindNextEdge(this.VisGraph, spliceSource, CompassVector.OppositeDir(extendDir));

            // Since target is null, if this is a reflection, it is bouncing off an outer side of a group or
            // obstacle at spliceSource.  In that case, we don't want to splice from it because then we could
            // cut through the group and outside again; instead we should just stay outside it.
            return(IsSkippableSpliceSourceEdgeWithNullTarget(spliceSourceEdge) || IsReflectionEdge(spliceSourceEdge));
        }
 internal VisibilityEdge FindNextEdge(VisibilityVertex vertex, Directions dir)
 {
     return(StaticGraphUtility.FindNextEdge(VisGraph, vertex, dir));
 }