code: /*
  RedundantModifier
  tokens = (default)METHOD_DEF, VARIABLE_DEF, ANNOTATION_FIELD_DEF, INTERFACE_DEF, \
           CTOR_DEF, CLASS_DEF, ENUM_DEF, RESOURCE
  
  
  */
  
  package com.puppycrawl.tools.checkstyle.checks.modifier.redundantmodifier;
  
  public interface InputRedundantModifierClassesInsideOfInterfaces {
  
      // Class inside of interface can be abstract and non abstract, but always public static.
      abstract class A {}
  
      class B {}
  
      // All classes inside interfaces are public static classes, and static modifier is redundant.
      static class C { // violation
          public static boolean verifyState( A a ) {
              return true;
          }
      }
  
      public class E {} // violation
  
      // Enums are static implicit subclasses of Enum class.
      public enum Role1 { // violation
          ADMIN,
          EDITOR,
          VANILLA;
      }
  
      static enum Role2 { // violation
          ADMIN,
          EDITOR,
          VANILLA;
      }
  }
  