if the key doesnt exists call the six.String function and substitute the result for self.stream. remove the 'fields' key from the options dictionary and substitute it for self.selected_fields,
self . selected_fields = options . pop ( "fields" , None )