/**
 * Valid javadoc.
 * @see Test
 * @see Unknown Unknown
 * @see Test#foo()
 * @see Test#unknown() Unknown
 * @see Test#field
 * @see Test#unknown Unknown
 * @param unexpected Unknown
 * @throws unexpected Unknown
 * @return unexpected
 * @deprecated unexpected in spec, but accepted by javadoc.exe
 * @other-tags should be valid
 */
@Deprecated
package javadoc.b83804a;
