code: func (o *WaitOptions) RunWait() error {
  	visitCount := 0
  	err := o.ResourceFinder.Do().Visit(func(info *resource.Info, err error) error {
  		if err != nil {
  			return err
  		}
  
  		visitCount++
  		finalObject, success, err := o.ConditionFn(info, o)
  		if success {
  			o.Printer.PrintObj(finalObject, o.Out)
  			return nil
  		}
  		if err == nil {
  			return fmt.Errorf("%v unsatisified for unknown reason", finalObject)
  		}
  		return err
  	})
  	if err != nil {
  		return err
  	}
  	if visitCount == 0 {
  		return errNoMatchingResources
  	}
  	return err
  }
docs: // RunWait runs the waiting logic