I created a 'ResetOnCloseInputStream' which extends BufferedInputStream, because I'm passing it to WorkbookFactory.create(InputStream) and it closes the stream after reading workbook, whereas I need to use the stream again. ResetOnInputStream looks like this-I created a 'ResetOnCloseInputStream' which ext