code: @Override
      public long getLength() throws IOException
      {
          if (_streamLength != -1) {
              return _streamLength;
          }
  
          isValidIndex(Integer.MAX_VALUE, 1);
          assert(_isStreamFinished);
          return _streamLength;
      }
docs: Reads to the end of the stream, in order to determine the total number of bytes.
  In general, this is not a good idea for this implementation of {@link RandomAccessReader}.
  
  @return the length of the data source, in bytes.