code: private boolean acceptStream(
              int streamId, byte priority, boolean remoteSideClosed, boolean localSideClosed) {
          // Cannot initiate any new streams after receiving or sending GOAWAY
          if (receivedGoAwayFrame || sentGoAwayFrame) {
              return false;
          }
  
          boolean remote = isRemoteInitiatedId(streamId);
          int maxConcurrentStreams = remote ? localConcurrentStreams : remoteConcurrentStreams;
          if (spdySession.numActiveStreams(remote) >= maxConcurrentStreams) {
              return false;
          }
          spdySession.acceptStream(
                  streamId, priority, remoteSideClosed, localSideClosed,
                  initialSendWindowSize, initialReceiveWindowSize, remote);
          if (remote) {
              lastGoodStreamId = streamId;
          }
          return true;
      }
docs: need to synchronize accesses to sentGoAwayFrame, lastGoodStreamId, and initial window sizes