Add support for @implSpec and @implNote

Bug: 26814204
Change-Id: I04e7c5845b65427e1c6a5183e73e42a4b654bf36
diff --git a/res/assets/templates/macros.cs b/res/assets/templates/macros.cs
index e7eb70c..f561c50 100644
--- a/res/assets/templates/macros.cs
+++ b/res/assets/templates/macros.cs
@@ -135,6 +135,18 @@
           <ul class="nolist"><li><?cs call:tag_list(tag.commentTags) ?></li></ul>
         </div><?cs
       /if ?><?cs
+      if:tag.kind == "@implSpec" ?>
+        <div class="jd-tagdata">
+          <h5 class="jd-tagtitle">Implementation Requirements:</h5>
+          <ul class="nolist"><li><?cs call:tag_list(tag.commentTags) ?></li></ul>
+        </div><?cs
+      /if ?><?cs
+      if:tag.kind == "@implNote" ?>
+        <div class="jd-tagdata">
+          <h5 class="jd-tagtitle">Implementation Note:</h5>
+          <ul class="nolist"><li><?cs call:tag_list(tag.commentTags) ?></li></ul>
+        </div><?cs
+      /if ?><?cs
   /each ?><?cs
 /def ?>
 
diff --git a/src/com/google/doclava/Comment.java b/src/com/google/doclava/Comment.java
index 225419d..1a4498f 100644
--- a/src/com/google/doclava/Comment.java
+++ b/src/com/google/doclava/Comment.java
@@ -42,6 +42,8 @@
           "@sample",
           "@include",
           "@serial",
+          "@implNote",
+          "@implSpec",
       }));
 
   public Comment(String text, ContainerInfo base, SourcePositionInfo sp) {
@@ -363,7 +365,7 @@
       mUndeprecateTagsList.add(new TextTagInfo("@undeprecate", "@undeprecate", text, pos));
     } else if (name.equals("@include") || name.equals("@sample")) {
       mInlineTagsList.add(new SampleTagInfo(name, "@include", text, mBase, pos));
-    } else if (name.equals("@apiNote")) {
+    } else if (name.equals("@apiNote") || name.equals("@implSpec") || name.equals("@implNote")) {
       mTagsList.add(new ParsedTagInfo(name, name, text, mBase, pos));
     } else {
       boolean known = KNOWN_TAGS.contains(name);