in local.go [22:32]
func (l *LocalBlock) CanExecutePrePlan() bool { can := true upstreams, _ := l.c.GetAncestors(l.Address()) for _, i := range upstreams { b := i.(Block) if !b.CanExecutePrePlan() { can = false } } return can }