code: private boolean moveToNextDataSegment() throws IOException {
      try {
        clearDataSegment();
        DataSegmentReader dataSegmentReader =
            new DataSegmentReader(dataIn, conf, decompressorCache);
        dataSegmentIn = dataSegmentReader.getInputStream();
      } catch (EmptyDataSegmentException e){
        // no data available
        return false;
      } catch (EOFException e) {
        // EOFException is thrown when the underlying data stream is truncated, e.g. truncated file.
        // This is considered as a normal case.
        throw new CodecPrematureEOFException("Truncated .SSF file detected.");
      } catch (ClassNotFoundException e) {
        throw new RuntimeException(e);
      }
      return true;
    }
docs: Returns false if there are no more data segments.