Correctly implement `add` for custom list types
diff --git a/_test/expected_nonidentical.dart b/_test/expected_nonidentical.dart
index b4819ee..a5bd6a8 100644
--- a/_test/expected_nonidentical.dart
+++ b/_test/expected_nonidentical.dart
@@ -903,6 +903,11 @@
   set length(core.int newLength) {
     _inner.length = newLength;
   }
+
+  @core.override
+  void add(core.List<core.String> element) {
+    _inner.add(element);
+  }
 }
 
 class ListOfListOfToyRequest
@@ -940,6 +945,11 @@
   set length(core.int newLength) {
     _inner.length = newLength;
   }
+
+  @core.override
+  void add(core.List<ToyRequest> element) {
+    _inner.add(element);
+  }
 }
 
 class ListOfListOfint extends collection.ListBase<core.List<core.int>> {
@@ -973,6 +983,11 @@
   set length(core.int newLength) {
     _inner.length = newLength;
   }
+
+  @core.override
+  void add(core.List<core.int> element) {
+    _inner.add(element);
+  }
 }
 
 class ListOfMapOfListOfString
@@ -1016,6 +1031,11 @@
   set length(core.int newLength) {
     _inner.length = newLength;
   }
+
+  @core.override
+  void add(core.Map<core.String, core.List<core.String>> element) {
+    _inner.add(element);
+  }
 }
 
 class ListOfMapOfListOfint
@@ -1059,6 +1079,11 @@
   set length(core.int newLength) {
     _inner.length = newLength;
   }
+
+  @core.override
+  void add(core.Map<core.String, core.List<core.int>> element) {
+    _inner.add(element);
+  }
 }
 
 class ListOfString extends collection.ListBase<core.String> {
@@ -1088,6 +1113,11 @@
   set length(core.int newLength) {
     _inner.length = newLength;
   }
+
+  @core.override
+  void add(core.String element) {
+    _inner.add(element);
+  }
 }
 
 class ListOfToyRequest extends collection.ListBase<ToyRequest> {
@@ -1120,6 +1150,11 @@
   set length(core.int newLength) {
     _inner.length = newLength;
   }
+
+  @core.override
+  void add(ToyRequest element) {
+    _inner.add(element);
+  }
 }
 
 class MapOfListOfMapOfbool extends collection
diff --git a/_test_package/lib/toyapi/0_1.dart b/_test_package/lib/toyapi/0_1.dart
index b0f26fa..1bd00b8 100644
--- a/_test_package/lib/toyapi/0_1.dart
+++ b/_test_package/lib/toyapi/0_1.dart
@@ -903,6 +903,11 @@
   set length(core.int newLength) {
     _inner.length = newLength;
   }
+
+  @core.override
+  void add(core.List<core.String> element) {
+    _inner.add(element);
+  }
 }
 
 class ListOfListOfToyRequest
@@ -940,6 +945,11 @@
   set length(core.int newLength) {
     _inner.length = newLength;
   }
+
+  @core.override
+  void add(core.List<ToyRequest> element) {
+    _inner.add(element);
+  }
 }
 
 class ListOfListOfint extends collection.ListBase<core.List<core.int>> {
@@ -973,6 +983,11 @@
   set length(core.int newLength) {
     _inner.length = newLength;
   }
+
+  @core.override
+  void add(core.List<core.int> element) {
+    _inner.add(element);
+  }
 }
 
 class ListOfMapOfListOfString
@@ -1016,6 +1031,11 @@
   set length(core.int newLength) {
     _inner.length = newLength;
   }
+
+  @core.override
+  void add(core.Map<core.String, core.List<core.String>> element) {
+    _inner.add(element);
+  }
 }
 
 class ListOfMapOfListOfint
@@ -1059,6 +1079,11 @@
   set length(core.int newLength) {
     _inner.length = newLength;
   }
+
+  @core.override
+  void add(core.Map<core.String, core.List<core.int>> element) {
+    _inner.add(element);
+  }
 }
 
 class ListOfString extends collection.ListBase<core.String> {
@@ -1088,6 +1113,11 @@
   set length(core.int newLength) {
     _inner.length = newLength;
   }
+
+  @core.override
+  void add(core.String element) {
+    _inner.add(element);
+  }
 }
 
 class ListOfToyRequest extends collection.ListBase<ToyRequest> {
@@ -1120,6 +1150,11 @@
   set length(core.int newLength) {
     _inner.length = newLength;
   }
+
+  @core.override
+  void add(ToyRequest element) {
+    _inner.add(element);
+  }
 }
 
 class MapOfListOfMapOfbool extends collection
diff --git a/discoveryapis_generator/lib/src/dart_schemas.dart b/discoveryapis_generator/lib/src/dart_schemas.dart
index b2c9a9f..e5b263c 100644
--- a/discoveryapis_generator/lib/src/dart_schemas.dart
+++ b/discoveryapis_generator/lib/src/dart_schemas.dart
@@ -570,6 +570,11 @@
   set length(${imports.core.ref()}int newLength) {
     _inner.length = newLength;
   }
+
+  @${core}override
+  void add($type element) {
+    _inner.add(element);
+  }
 }
 ''';
   }