public int available ( ) { long amount = getHeader ( ) . getLength ( ) - getPosition ( ) ; return ( amount > Integer . MAX_VALUE ? Integer . MAX_VALUE : ( int ) amount ) ; }
This available is not the stream s available . Its an available based on what the stated Archive record length is minus what we ve read to date .