code: package com.puppycrawl.tools.checkstyle.grammar.antlr4;
  
  import java.lang.annotation.ElementType;
  import java.lang.annotation.Target;
  import java.util.List;
  import java.util.Map;
  
  public class InputAntlr4AstRegressionSuppressWarnings {
  
      public static Object foo1(@SuppressWarnings("unused") Object str) {
          String myString = (@SuppressWarnings("unused") String) str;
          Object object = new @SuppressWarnings("unused") Object();
          try {
              return null;
  
          } catch (@SuppressWarnings("unused") Exception ex) {
              return "";
          }
      }
  
      void foo2() throws @SuppressWarnings("unused") Exception {  }
  
      public void foo3() {
          Map.@SuppressWarnings("unused") Entry entry;
          MyObject myObject = new MyObject();
          myObject.<@SuppressWarnings("unused") String>myMethod();
          myObject.new @SuppressWarnings("unused") MyObject2();
      }
  
      public static <T> void foo4(Object str) {
          List<@SuppressWarnings("unused") ? extends Comparable<T>> unchangeable;
      }
  
      abstract class UnmodifiableList<T>
      implements @SuppressWarnings("unused")List<@SuppressWarnings("unused") T> {
      }
  
      class MyObject{
  
          public void myMethod(){};
  
          class MyObject2{}
      }
  
      @Target(ElementType.TYPE_USE)
      @interface SuppressWarnings {
          String value();
      }
  }
  