private OggPage getCurrentPage(boolean forceNew) {
        if(buffer.size() == 0 || forceNew) {
            OggPage page = new OggPage(sid, sequenceNumber++); 
            if(currentGranulePosition > 0) {
                page.setGranulePosition(currentGranulePosition);
            }
            buffer.add( page );
            return page;
        }
        return buffer.get( buffer.size()-1 );
    }