code: public final synchronized UnicodeBOMReader skipBOM() throws IOException {
  		if (!skipped) {
  
  			ByteBuffer bbuf = ByteBuffer.wrap(bom.getBytes());
  			CharBuffer cbuf = charset.decode(bbuf);
  			char[] bom = cbuf.array();
  			int length = 0;
  			for (int i = 0; i < bom.length; i++) {
  				if (bom[i] == 0) {
  					break;
  				}
  				length++;
  			}
  			in.skip(length);
  			skipped = true;
  		}
  		return this;
  	}
docs: Skips the <code>BOM</code> that was found in the wrapped
  <code>InputStream</code> object.
  
  @return this <code>UnicodeBOMInputStream</code>.
  
  @throws IOException
  when trying to skip the BOM from the wrapped
  <code>InputStream</code> object.