When calling EdifactParser.parse(InputSource inputSource) with inputSource, which is created not from character stream (byte stream in my case), reader initialization is done correctly but then there is a strange line of code with exception being thrown, which fails parsing process.
I assume it is a typo, that this line of code exists, because there is no execution path in if-else cases above that leads to reader being not initialized.