IndexOutOfBoundsException when processing javadocs
codegen will crash while processing javadocs that are:

```
/**
 * @deprecated
 * @see #handler(RoutingContext ctx)
 * @param ctx  the context
 */
```
diff --git a/src/main/java/io/vertx/codegen/doc/Doc.java b/src/main/java/io/vertx/codegen/doc/Doc.java
index 0daa8c1d..f0c03fd1 100644
--- a/src/main/java/io/vertx/codegen/doc/Doc.java
+++ b/src/main/java/io/vertx/codegen/doc/Doc.java
@@ -49,7 +49,13 @@ public class Doc {
         String name = matcher.group(2);
         int prev = matcher.end() + 1;
         if (matcher.find()) {
-          blockTags.add(new Tag(name, javadoc.substring(prev, matcher.start())));
+          int start = matcher.start();
+          if (start <= prev) {
+            // this is a tag without content (e.g.: deprecated)
+            blockTags.add(new Tag(name, ""));
+          } else {
+            blockTags.add(new Tag(name, javadoc.substring(prev, start)));
+          }
         } else {
           blockTags.add(new Tag(name, javadoc.substring(prev)));
           break;
diff --git a/src/test/java/io/vertx/test/codegen/DocTest.java b/src/test/java/io/vertx/test/codegen/DocTest.java
index b8209456..e6701b3d 100644
--- a/src/test/java/io/vertx/test/codegen/DocTest.java
+++ b/src/test/java/io/vertx/test/codegen/DocTest.java
@@ -50,6 +50,8 @@ public class DocTest {
     assertComment("@tag1 value", "", null, new Tag("tag1", "value"));
     assertComment("\\n@tag1 value", "", null, new Tag("tag1", "value"));
     assertComment("@tag1 value1\\n@tag2 value2", "", null, new Tag("tag1", "value1"), new Tag("tag2", "value2"));
+
+    assertComment("@deprecated\\n@see #handler(RountingContext)", "", null, new Tag("deprecated", ""), new Tag("see", "#handler(RountingContext)"));
   }
 
   private void assertComment(String text, String expectedFirstSentence, String expectedBody, Tag... expectedBlockTags) {
['src/test/java/io/vertx/test/codegen/DocTest.java', 'src/main/java/io/vertx/codegen/doc/Doc.java']