Check protectionController is not null when resetting StreamController
Created by: davemevans
A race condition exists where streamController.reset can be called a second time before the first has completed. In the instance protectionController may be null (if ownProtectionController was previously true), so check before calling any methods on it.