@Override
    public int peekBits(int n) throws AACException {
		int ret;
		if(bitsCached>=n) {
			ret = (cache>>(bitsCached-n))&maskBits(n);
		}
		else {
			//old cache
			final int c = cache&maskBits(bitsCached);
			n -= bitsCached;
			//read next & combine
			ret = ((readCache(true)>>WORD_BITS-n)&maskBits(n))|(c<<n);
		}
		return ret;
	}
@Override
    public int peekBits(int n) throws AACException {
		int ret;
		if(bitsCached>=n) {
			ret = (cache>>(bitsCached-n))&maskBits(n);
		}
		else {
			
			final int c = cache&maskBits(bitsCached);
			n -= bitsCached;
			
			ret = ((readCache(true)>>WORD_BITS-n)&maskBits(n))|(c<<n);
		}
		return ret;
	}
@ Override public int peekBits ( int n ) throws AACException { int ret ; if ( bitsCached >= n ) { ret = ( cache >> ( bitsCached - n ) ) & maskBits ( n ) ; } else { //old cache final int c = cache & maskBits ( bitsCached ) ; n -= bitsCached ; //read next & combine ret = ( ( readCache ( true ) >> WORD_BITS - n ) & maskBits ( n ) ) | ( c << n ) ; } return ret ; }
/* (non-Javadoc)
@see net.sourceforge.jaad.aac.syntax.IBitStream#peekBits(int)
/ * ( non - Javadoc )