code: protected void updateInitialWindowsUpdateSize(int newSize) throws FlowControlException {
          // this method should only be called by the thread that came in on processNewFrame.
          // newSize should be treated as an unsigned 32-bit int
  
          if (myID == 0) {
              // the control stream doesn't care about initial window size updates
              return;
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "updateInitialWindowsUpdateSize entry: stream {0} newSize: {1}", myID, newSize);
          }
  
          long diff = newSize - streamWindowUpdateWriteInitialSize;
  
          streamWindowUpdateWriteInitialSize = newSize;
          streamWindowUpdateWriteLimit += diff;
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "streamWindowUpdateWriteInitialSize updated to: " + streamWindowUpdateWriteInitialSize);
              Tr.debug(tc, "streamWindowUpdateWriteLimit updated to: " + streamWindowUpdateWriteLimit);
          }
  
          // if any data frames were waiting for a window update, write them out now
          flushDataWaitingForWindowUpdate();
      }
docs: Updates the initial window size for this stream. If any data frames are waiting for an increased window size,
  write them out if the new window size allows it.
  
  @param newSize - new window size
  @throws FlowControlException