code: public void compressedSeek(long position) throws IOException {
          in.reset(); 
          long count = ((CountingInputStream)in).getCount();
          long delta = position - count;
          if(delta<0) {
              throw new IllegalArgumentException("can't seek backwards: seeked "+position+" already at "+count); 
          }
          compressedSkip(delta);
      }
docs: Seek forward to a particular offset in the compressed stream. Note
  that after any seek/skip the memberNumbers may not reflect a member's
  true ordinal position from the beginning of the stream.
  
  @param position target position
  @throws IOException