I also tried to use BufferedInputStreamReader and its reset and skip method, but I get exceptions, too.
Haven't worked with those classes but the issue is NOT going to be the stream itself; it will be the internal configuration and status info in the event reader class that was instantiated.
The XMLEventReader class is just an interface so you won't have any options with it; only the exposed methods are available and there is none for 'reset' or the like.
The only possible workaround would be to debug the code and find out exactly what implementing class the factory is returning. Then examine that class to see if it has a 'reset' or similar method. It would also need to have a method for reinitializing an instance to a new stream. You could cast the interface to the actual class type and then call those methods that are not exposed via the interface.
If part of the instance creation consists of actually reading the initial part of the stream then you have no workarounds; a new stream would have to be read by the instance and that would only happen if there were a method in the actual concrete class you could call as I mentioned above.