code: /*
  JavadocType
  scope = (default)private
  excludeScope = (default)null
  authorFormat = (default)null
  versionFormat = (default)null
  allowMissingParamTags = true
  allowUnknownTags = (default)false
  allowedAnnotations = (default)Generated
  tokens = (default)INTERFACE_DEF, CLASS_DEF, ENUM_DEF, ANNOTATION_DEF, RECORD_DEF
  
  
  */
  
  package com.puppycrawl.tools.checkstyle.checks.javadoc.javadoctype;
  
  /**
   * Some explanation.
   * @param <A> A type param
   * @param <B1> Another type param
   * @param <D123> The wrong type param   // violation 'Unused @param tag for '<D123>'.'
   * @author Nobody
   * @version 1.0
   */
  public class InputJavadocTypeTypeParamsTags<A,B1,C456 extends Comparable>
  {
      /**
       * Some explanation.
       * @param <X> A type param
       * @param <Y1> Another type param
       * @return a string
       */
      public <X, Y1> String doSomething()
      {
          return null;
      }
  
      /**
       * Some explanation.
       * @param <BB> The wrong type param
       */
      public <Z> void doSomethingElse()
      {
      }
  
      /**
       * Some explanation.
       * @param aAnEl A parameter
       * @param <L> A type parameter
       */
      public <L> void doSomethingElse2(L aAnEl)
      {
      }
  
      /**
       * Example inner class.
       * @param <A> documented parameter
       * @param <C> extra parameter  // violation 'Unused @param tag for '<C>'.'
       */
  
      public static class InnerClass<A,B>
      {
      }
  
      /**
       * Some explanation.
       * @param <Z The wrong type param
       */
      public <Z> void unclosedGenericParam()
      {
      }
  }
  
  /** @param x */ // violation 'Unused @param tag for 'x'.'
  class Test {}
  