/**
 * {@code this.foo} is never {@code null}.
 *
 * <code>Foo.bar(null)</code>
 * <tt>Foo</tt>
 *
 * <pre><code>
 * for (int i = 0; i < array.length; i++) {
 *     array[i] += 1;
 * }
 * return array;
 * </code></pre>
 *
 * <pre>{@code
 *     String message = String.join("-", "Java", "is", "cool");
 *     // message returned is: "Java-is-cool"
 * }</pre>
 *
 * <pre>
 *     dstBegin + (srcEnd-srcBegin) - 1
 * </pre>
 *
 * <pre>
 *     <b><i>c</i></b> == (char)(((hibyte &amp; 0xff) &lt;&lt; 8)
 *                         | (<b><i>b</i></b> &amp; 0xff))
 * </pre>
 *
 * <pre> {@code
 * interface ArchiveSearcher { String search(String target); }
 * class App {
 *   void showSearch(final String target)
 *       throws InterruptedException {
 *     Future<String> future
 *       = executor.submit(new Callable<String>() {
 *         public String call() {
 *             return searcher.search(target);
 *         }});
 *     displayOtherThings(); // do other things while searching
 *     try {
 *       displayText(future.get()); // use future
 *     } catch (ExecutionException ex) { cleanup(); return; }
 *   }
 * }}</pre>
 */

----------------------------------------------------

[
	"/**\r\n * ",
	["punctuation", "{"],
	["keyword", "@code"],
	["code-section", [
		["code", [
			["keyword", "this"],
			["punctuation", "."],
			"foo"
		]]
	]],
	["punctuation", "}"],
	" is never ",
	["punctuation", "{"],
	["keyword", "@code"],
	["code-section", [
		["code", [
			["keyword", "null"]
		]]
	]],
	["punctuation", "}"],
	".\r\n *\r\n * ",
	["tag", [
		["tag", [
			["punctuation", "<"],
			"code"
		]],
		["punctuation", ">"]
	]],
	["code-section", [
		["line", [
			["code", [
				["class-name", ["Foo"]],
				["punctuation", "."],
				["function", "bar"],
				["punctuation", "("],
				["keyword", "null"],
				["punctuation", ")"]
			]]
		]]
	]],
	["tag", [
		["tag", [
			["punctuation", "</"],
			"code"
		]],
		["punctuation", ">"]
	]],

	"\r\n * ",
	["tag", [
		["tag", [
			["punctuation", "<"],
			"tt"
		]],
		["punctuation", ">"]
	]],
	["code-section", [
		["line", [
			["code", [
				["class-name", ["Foo"]]
			]]
		]]
	]],
	["tag", [
		["tag", [
			["punctuation", "</"],
			"tt"
		]],
		["punctuation", ">"]
	]],

	"\r\n *\r\n * ",
	["tag", [
		["tag", [
			["punctuation", "<"],
			"pre"
		]],
		["punctuation", ">"]
	]],
	["tag", [
		["tag", [
			["punctuation", "<"],
			"code"
		]],
		["punctuation", ">"]
	]],

	["code-section", [
		"* ",
		["line", [
			["code", [
				["keyword", "for"],
				["punctuation", "("],
				["keyword", "int"],
				" i ",
				["operator", "="],
				["number", "0"],
				["punctuation", ";"],
				" i ",
				["operator", "<"],
				" array",
				["punctuation", "."],
				"length",
				["punctuation", ";"],
				" i",
				["operator", "++"],
				["punctuation", ")"],
				["punctuation", "{"]
			]]
		]],

		"\r\n *     ",
		["line", [
			["code", [
				"array",
				["punctuation", "["],
				"i",
				["punctuation", "]"],
				["operator", "+="],
				["number", "1"],
				["punctuation", ";"]
			]]
		]],

		"\r\n * ",
		["line", [
			["code", [
				["punctuation", "}"]
			]]
		]],

		"\r\n * ",
		["line", [
			["code", [
				["keyword", "return"],
				" array",
				["punctuation", ";"]
			]]
		]],

		"\r\n *"
	]],
	["tag", [
		["tag", [
			["punctuation", "</"],
			"code"
		]],
		["punctuation", ">"]
	]],
	["tag", [
		["tag", [
			["punctuation", "</"],
			"pre"
		]],
		["punctuation", ">"]
	]],

	"\r\n *\r\n * ",
	["tag", [
		["tag", [
			["punctuation", "<"],
			"pre"
		]],
		["punctuation", ">"]
	]],
	["punctuation", "{"],
	["keyword", "@code"],

	["code-section", [
		"*     ",
		["code", [
			["class-name", ["String"]],
			" message ",
			["operator", "="],
			["class-name", ["String"]],
			["punctuation", "."],
			["function", "join"],
			["punctuation", "("],
			["string", "\"-\""],
			["punctuation", ","],
			["string", "\"Java\""],
			["punctuation", ","],
			["string", "\"is\""],
			["punctuation", ","],
			["string", "\"cool\""],
			["punctuation", ")"],
			["punctuation", ";"]
		]],

		"\r\n *     ",
		["code", [
			["comment", "// message returned is: \"Java-is-cool\""]
		]],

		"\r\n *"
	]],
	["punctuation", "}"],
	["tag", [
		["tag", [
			["punctuation", "</"],
			"pre"
		]],
		["punctuation", ">"]
	]],

	"\r\n *\r\n * ",
	["tag", [
		["tag", [
			["punctuation", "<"],
			"pre"
		]],
		["punctuation", ">"]
	]],

	["code-section", [
		"*     ",
		["line", [
			["code", [
				"dstBegin ",
				["operator", "+"],
				["punctuation", "("],
				"srcEnd",
				["operator", "-"],
				"srcBegin",
				["punctuation", ")"],
				["operator", "-"],
				["number", "1"]
			]]
		]],

		"\r\n *"
	]],
	["tag", [
		["tag", [
			["punctuation", "</"],
			"pre"
		]],
		["punctuation", ">"]
	]],

	"\r\n *\r\n * ",
	["tag", [
		["tag", [
			["punctuation", "<"],
			"pre"
		]],
		["punctuation", ">"]
	]],

	["code-section", [
		"*     ",
		["line", [
			["tag", [
				["tag", [
					["punctuation", "<"],
					"b"
				]],
				["punctuation", ">"]
			]],
			["tag", [
				["tag", [
					["punctuation", "<"],
					"i"
				]],
				["punctuation", ">"]
			]],
			["code", ["c"]],
			["tag", [
				["tag", [
					["punctuation", "</"],
					"i"
				]],
				["punctuation", ">"]
			]],
			["tag", [
				["tag", [
					["punctuation", "</"],
					"b"
				]],
				["punctuation", ">"]
			]],
			["code", [
				["operator", "=="],
				["punctuation", "("],
				["keyword", "char"],
				["punctuation", ")"],
				["punctuation", "("],
				["punctuation", "("],
				["punctuation", "("],
				"hibyte "
			]],
			["entity", "&amp;"],
			["code", [
				["number", "0xff"],
				["punctuation", ")"]
			]],
			["entity", "&lt;"],
			["entity", "&lt;"],
			["code", [
				["number", "8"],
				["punctuation", ")"]
			]]
		]],

		"\r\n *                         ",
		["line", [
			["code", [
				["operator", "|"],
				["punctuation", "("]
			]],
			["tag", [
				["tag", [
					["punctuation", "<"],
					"b"
				]],
				["punctuation", ">"]
			]],
			["tag", [
				["tag", [
					["punctuation", "<"],
					"i"
				]],
				["punctuation", ">"]
			]],
			["code", ["b"]],
			["tag", [
				["tag", [
					["punctuation", "</"],
					"i"
				]],
				["punctuation", ">"]
			]],
			["tag", [
				["tag", [
					["punctuation", "</"],
					"b"
				]],
				["punctuation", ">"]
			]],
			["code", [
			]],
			["entity", "&amp;"],
			["code", [
				["number", "0xff"],
				["punctuation", ")"],
				["punctuation", ")"]
			]]
		]],

		"\r\n *"
	]],
	["tag", [
		["tag", [
			["punctuation", "</"],
			"pre"
		]],
		["punctuation", ">"]
	]],

	"\r\n *\r\n * ",
	["tag", [
		["tag", [
			["punctuation", "<"],
			"pre"
		]],
		["punctuation", ">"]
	]],
	["punctuation", "{"],
	["keyword", "@code"],

	["code-section", [
		"* ",
		["code", [
			["keyword", "interface"],
			["class-name", ["ArchiveSearcher"]],
			["punctuation", "{"],
			["class-name", ["String"]],
			["function", "search"],
			["punctuation", "("],
			["class-name", ["String"]],
			" target",
			["punctuation", ")"],
			["punctuation", ";"],
			["punctuation", "}"]
		]],

		"\r\n * ",
		["code", [
			["keyword", "class"],
			["class-name", ["App"]],
			["punctuation", "{"]
		]],

		"\r\n *   ",
		["code", [
			["keyword", "void"],
			["function", "showSearch"],
			["punctuation", "("],
			["keyword", "final"],
			["class-name", ["String"]],
			" target",
			["punctuation", ")"]
		]],

		"\r\n *       ",
		["code", [
			["keyword", "throws"],
			["class-name", ["InterruptedException"]],
			["punctuation", "{"]
		]],

		"\r\n *     ",
		["code", [
			["class-name", ["Future"]],
			["generics", [
				["punctuation", "<"],
				["class-name", ["String"]],
				["punctuation", ">"]
			]],
			" future"
		]],

		"\r\n *       ",
		["code", [
			["operator", "="],
			" executor",
			["punctuation", "."],
			["function", "submit"],
			["punctuation", "("],
			["keyword", "new"],
			["class-name", ["Callable"]],
			["generics", [
				["punctuation", "<"],
				["class-name", ["String"]],
				["punctuation", ">"]
			]],
			["punctuation", "("],
			["punctuation", ")"],
			["punctuation", "{"]
		]],

		"\r\n *         ",
		["code", [
			["keyword", "public"],
			["class-name", ["String"]],
			["function", "call"],
			["punctuation", "("],
			["punctuation", ")"],
			["punctuation", "{"]
		]],

		"\r\n *             ",
		["code", [
			["keyword", "return"],
			" searcher",
			["punctuation", "."],
			["function", "search"],
			["punctuation", "("],
			"target",
			["punctuation", ")"],
			["punctuation", ";"]
		]],

		"\r\n *         ",
		["code", [
			["punctuation", "}"],
			["punctuation", "}"],
			["punctuation", ")"],
			["punctuation", ";"]
		]],

		"\r\n *     ",
		["code", [
			["function", "displayOtherThings"],
			["punctuation", "("],
			["punctuation", ")"],
			["punctuation", ";"],
			["comment", "// do other things while searching"]
		]],

		"\r\n *     ",
		["code", [
			["keyword", "try"],
			["punctuation", "{"]
		]],

		"\r\n *       ",
		["code", [
			["function", "displayText"],
			["punctuation", "("],
			"future",
			["punctuation", "."],
			["function", "get"],
			["punctuation", "("],
			["punctuation", ")"],
			["punctuation", ")"],
			["punctuation", ";"],
			["comment", "// use future"]
		]],

		"\r\n *     ",
		["code", [
			["punctuation", "}"],
			["keyword", "catch"],
			["punctuation", "("],
			["class-name", ["ExecutionException"]],
			" ex",
			["punctuation", ")"],
			["punctuation", "{"],
			["function", "cleanup"],
			["punctuation", "("],
			["punctuation", ")"],
			["punctuation", ";"],
			["keyword", "return"],
			["punctuation", ";"],
			["punctuation", "}"]
		]],

		"\r\n *   ",
		["code", [
			["punctuation", "}"]
		]],

		"\r\n * ",
		["code", [
			["punctuation", "}"]
		]]
	]],
	["punctuation", "}"],
	["tag", [
		["tag", [
			["punctuation", "</"],
			"pre"
		]],
		["punctuation", ">"]
	]],

	"\r\n */"
]

----------------------------------------------------

Checks for code.
