inner Streams became protected since they must be accessed by extending
types.