public void save(Map<Long,Map<Slice,Bucket.BucketedValue>> unsavedData,long windowId,boolean skipWriteToWindowFile) throws IOException {
  Throwable lthrowable;
  if ((lthrowable=throwable.get()) != null) {
    LOG.error("Error while transferring");
    Throwables.propagate(lthrowable);
  }
  savedWindows.put(windowId,unsavedData);
  if (!skipWriteToWindowFile) {
    super.save(unsavedData,windowId);
  }
}

public void save ( Map < Long , Map < Slice , Bucket . BucketedValue > > unsavedData , long windowId , boolean skipWriteToWindowFile ) throws IOException { Throwable lthrowable ; if ( ( lthrowable = throwable . get ( ) ) != null ) { LOG . error ( "Error while transferring" ) ; Throwables . propagate ( lthrowable ) ; } savedWindows . put ( windowId , unsavedData ) ; if ( ! skipWriteToWindowFile ) { super . save ( unsavedData , windowId ) ; } }
the unsaved state combines data received in multiple windows . this window data manager persists this data on disk by the window id in which it was requested .
