def grep(pattern, streams: true, object_streams: true) #:nodoc:

            pattern = /#{Regexp.escape(pattern)}/i if pattern.is_a?(::String)
            raise TypeError, "Expected a String or Regexp" unless pattern.is_a?(Regexp)

            result = []

            self.indirect_objects.each do |object|
                result.concat search_object(object, pattern,
                                            streams: streams, object_streams: object_streams)
            end

            result
        end
def grep(pattern, streams: true, object_streams: true) #:nodoc:

            pattern = /#{Regexp.escape(pattern)}/i if pattern.is_a?(::String)
            raise TypeError, "Expected a String or Regexp" unless pattern.is_a?(Regexp)

            result = []

            self.indirect_objects.each do |object|
                result.concat search_object(object, pattern,
                                            streams: streams, object_streams: object_streams)
            end

            result
        end
Returns an array of strings, names and streams matching the given pattern.
 _streams_: Search into decoded stream data.
 _object_streams_: Search into objects inside object streams.