diff --git a/quiche/balsa/balsa_headers_sequence.h b/quiche/balsa/balsa_headers_sequence.h
index 3fe10fd..5c2c43f 100644
--- a/quiche/balsa/balsa_headers_sequence.h
+++ b/quiche/balsa/balsa_headers_sequence.h
@@ -21,6 +21,10 @@
   // `Next()`. IFF true, `Next()` will return non-nullptr.
   bool HasNext() const;
 
+  // Returns true if the sequence has no BalsaHeaders. It is possible to have
+  // both !HasNext() and !IsEmpty() if all BalsaHeaders have been consumed.
+  bool IsEmpty() const { return sequence_.empty(); }
+
   // Returns a non-owning pointer to the next BalsaHeaders in the sequence, or
   // nullptr if the next does not exist.
   BalsaHeaders* Next();
diff --git a/quiche/balsa/balsa_headers_sequence_test.cc b/quiche/balsa/balsa_headers_sequence_test.cc
index ac62f5e..da6f7ce 100644
--- a/quiche/balsa/balsa_headers_sequence_test.cc
+++ b/quiche/balsa/balsa_headers_sequence_test.cc
@@ -14,6 +14,7 @@
   BalsaHeadersSequence sequence;
   EXPECT_FALSE(sequence.HasNext());
   EXPECT_EQ(sequence.Next(), nullptr);
+  EXPECT_TRUE(sequence.IsEmpty());
 }
 
 TEST(BalsaHeadersSequenceTest, Basic) {
@@ -23,21 +24,25 @@
   headers_one->AppendHeader("one", "fish");
   sequence.Append(std::move(headers_one));
   EXPECT_TRUE(sequence.HasNext());
+  EXPECT_FALSE(sequence.IsEmpty());
 
   auto headers_two = std::make_unique<BalsaHeaders>();
   headers_two->AppendHeader("two", "fish");
   sequence.Append(std::move(headers_two));
   EXPECT_TRUE(sequence.HasNext());
+  EXPECT_FALSE(sequence.IsEmpty());
 
   const BalsaHeaders* headers = sequence.Next();
   ASSERT_NE(headers, nullptr);
   EXPECT_TRUE(headers->HasHeader("one"));
   EXPECT_TRUE(sequence.HasNext());
+  EXPECT_FALSE(sequence.IsEmpty());
 
   headers = sequence.Next();
   ASSERT_NE(headers, nullptr);
   EXPECT_TRUE(headers->HasHeader("two"));
   EXPECT_FALSE(sequence.HasNext());
+  EXPECT_FALSE(sequence.IsEmpty());
 
   EXPECT_EQ(sequence.Next(), nullptr);
 }
@@ -49,15 +54,18 @@
   headers_one->AppendHeader("one", "fish");
   sequence.Append(std::move(headers_one));
   EXPECT_TRUE(sequence.HasNext());
+  EXPECT_FALSE(sequence.IsEmpty());
 
   auto headers_two = std::make_unique<BalsaHeaders>();
   headers_two->AppendHeader("two", "fish");
   sequence.Append(std::move(headers_two));
   EXPECT_TRUE(sequence.HasNext());
+  EXPECT_FALSE(sequence.IsEmpty());
 
   sequence.Clear();
   EXPECT_FALSE(sequence.HasNext());
   EXPECT_EQ(sequence.Next(), nullptr);
+  EXPECT_TRUE(sequence.IsEmpty());
 }
 
 TEST(BalsaHeadersSequenceTest, PeekNext) {
