Enforce override annotations (#14)

diff --git a/analysis_options.yaml b/analysis_options.yaml
index 0711aca..8dfb3d0 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -8,6 +8,7 @@
     - avoid_init_to_null
     - avoid_null_checks_in_equality_operators
     - avoid_unused_constructor_parameters
+    - annotate_overrides
     - await_only_futures
     - camel_case_types
     - cancel_subscriptions
diff --git a/lib/http_multi_server.dart b/lib/http_multi_server.dart
index 562092d..d54022b 100644
--- a/lib/http_multi_server.dart
+++ b/lib/http_multi_server.dart
@@ -35,7 +35,9 @@
   ///
   /// If the wrapped servers have different default values, it's not defined
   /// which value is returned.
+  @override
   String get serverHeader => _servers.first.serverHeader;
+  @override
   set serverHeader(String value) {
     for (var server in _servers) {
       server.serverHeader = value;
@@ -46,16 +48,21 @@
   ///
   /// If the wrapped servers have different default headers, it's not defined
   /// which header is returned for accessor methods.
+  @override
   final HttpHeaders defaultResponseHeaders;
 
+  @override
   Duration get idleTimeout => _servers.first.idleTimeout;
+  @override
   set idleTimeout(Duration value) {
     for (var server in _servers) {
       server.idleTimeout = value;
     }
   }
 
+  @override
   bool get autoCompress => _servers.first.autoCompress;
+  @override
   set autoCompress(bool value) {
     for (var server in _servers) {
       server.autoCompress = value;
@@ -66,14 +73,17 @@
   ///
   /// If the wrapped servers are listening on different ports, it's not defined
   /// which port is returned.
+  @override
   int get port => _servers.first.port;
 
   /// Returns the address that one of the wrapped servers is listening on.
   ///
   /// If the wrapped servers are listening on different addresses, it's not
   /// defined which address is returned.
+  @override
   InternetAddress get address => _servers.first.address;
 
+  @override
   set sessionTimeout(int value) {
     for (var server in _servers) {
       server.sessionTimeout = value;
@@ -160,11 +170,13 @@
     }
   }
 
+  @override
   Future close({bool force = false}) =>
       Future.wait(_servers.map((server) => server.close(force: force)));
 
   /// Returns an HttpConnectionsInfo object summarizing the total number of
   /// current connections handled by all the servers.
+  @override
   HttpConnectionsInfo connectionsInfo() {
     var info = HttpConnectionsInfo();
     for (var server in _servers) {
diff --git a/lib/src/multi_headers.dart b/lib/src/multi_headers.dart
index 9267aee..d1dd93f 100644
--- a/lib/src/multi_headers.dart
+++ b/lib/src/multi_headers.dart
@@ -10,63 +10,81 @@
   /// The wrapped headers.
   final Set<HttpHeaders> _headers;
 
+  @override
   bool get chunkedTransferEncoding => _headers.first.chunkedTransferEncoding;
+  @override
   set chunkedTransferEncoding(bool value) {
     for (var headers in _headers) {
       headers.chunkedTransferEncoding = value;
     }
   }
 
+  @override
   int get contentLength => _headers.first.contentLength;
+  @override
   set contentLength(int value) {
     for (var headers in _headers) {
       headers.contentLength = value;
     }
   }
 
+  @override
   ContentType get contentType => _headers.first.contentType;
+  @override
   set contentType(ContentType value) {
     for (var headers in _headers) {
       headers.contentType = value;
     }
   }
 
+  @override
   DateTime get date => _headers.first.date;
+  @override
   set date(DateTime value) {
     for (var headers in _headers) {
       headers.date = value;
     }
   }
 
+  @override
   DateTime get expires => _headers.first.expires;
+  @override
   set expires(DateTime value) {
     for (var headers in _headers) {
       headers.expires = value;
     }
   }
 
+  @override
   String get host => _headers.first.host;
+  @override
   set host(String value) {
     for (var headers in _headers) {
       headers.host = value;
     }
   }
 
+  @override
   DateTime get ifModifiedSince => _headers.first.ifModifiedSince;
+  @override
   set ifModifiedSince(DateTime value) {
     for (var headers in _headers) {
       headers.ifModifiedSince = value;
     }
   }
 
+  @override
   bool get persistentConnection => _headers.first.persistentConnection;
+  @override
   set persistentConnection(bool value) {
     for (var headers in _headers) {
       headers.persistentConnection = value;
     }
   }
 
+  @override
   int get port => _headers.first.port;
+  @override
   set port(int value) {
     for (var headers in _headers) {
       headers.port = value;
@@ -75,43 +93,52 @@
 
   MultiHeaders(Iterable<HttpHeaders> headers) : _headers = headers.toSet();
 
+  @override
   void add(String name, Object value) {
     for (var headers in _headers) {
       headers.add(name, value);
     }
   }
 
+  @override
   void forEach(void f(String name, List<String> values)) =>
       _headers.first.forEach(f);
 
+  @override
   void noFolding(String name) {
     for (var headers in _headers) {
       headers.noFolding(name);
     }
   }
 
+  @override
   void remove(String name, Object value) {
     for (var headers in _headers) {
       headers.remove(name, value);
     }
   }
 
+  @override
   void removeAll(String name) {
     for (var headers in _headers) {
       headers.removeAll(name);
     }
   }
 
+  @override
   void set(String name, Object value) {
     for (var headers in _headers) {
       headers.set(name, value);
     }
   }
 
+  @override
   String value(String name) => _headers.first.value(name);
 
+  @override
   List<String> operator [](String name) => _headers.first[name];
 
+  @override
   void clear() {
     for (var headers in _headers) {
       headers.clear();