code: public long raw_total(int i){
      if(!seekable||i>=links)
        return (-1);
      if(i<0){
        long acc=0; // bug?
        for(int j=0; j<links; j++){
          acc+=raw_total(j);
        }
        return (acc);
      }
      else{
        return (offsets[i+1]-offsets[i]);
      }
    }
docs: -1 if the stream is not seekable (we can't know the length)