This class checks the provided input stream for a BOM and if it is able to
find it the information this mark carries is interpreted and the encoding is
discovered. If no BOM is found a check for a xml declaration is done. If a
XML exists then it is checked for an encoding attribute. If that attribute is
found its values is taken and the stream is decoded using that encoding. If
none of above is found then the InputStream is decoded using the XMLParser2's
default encoding. If it is set to null then the system default encoding is
used.