class BOMInputStream extends ProxyInputStream {

    @Override
    public int read() throws IOException {
        final int b = readFirstBytes();
        return b >= 0 ? b : in.read();
    }

    public  BOMInputStream(final InputStream delegate);
    public  BOMInputStream(final InputStream delegate, final boolean include);
    public  BOMInputStream(final InputStream delegate, final ByteOrderMark... boms);
    public  BOMInputStream(final InputStream delegate, final boolean include, final ByteOrderMark... boms);

}