Or can it be that a user generates the list of channel=* resources, which returns a collection of ChannelInstanceResource objects that happen to be up at the time, and then later uses one of these to check the associated child protocol=* resources, but in then interim, someone has stopped the Channel?