code: package com.puppycrawl.tools.checkstyle.checks.indentation.indentation; //indent:0 exp:0
  
  import java.awt.event.ActionEvent; //indent:0 exp:0
  import java.awt.event.ActionListener; //indent:0 exp:0
  
  import javax.swing.JButton; //indent:0 exp:0
  
  /**                                                                           //indent:0 exp:0
   * This test-input is intended to be checked using following configuration:   //indent:1 exp:1
   *                                                                            //indent:1 exp:1
   * arrayInitIndent = 4                                                        //indent:1 exp:1
   * basicOffset = 4                                                            //indent:1 exp:1
   * braceAdjustment = 0                                                        //indent:1 exp:1
   * caseIndent = 4                                                             //indent:1 exp:1
   * forceStrictCondition = false                                               //indent:1 exp:1
   * lineWrappingIndentation = 4                                                //indent:1 exp:1
   * tabWidth = 4                                                               //indent:1 exp:1
   * throwsIndent = 4                                                           //indent:1 exp:1
   *                                                                            //indent:1 exp:1
   * @author  jrichard                                                          //indent:1 exp:1
   */                                                                           //indent:1 exp:1
    public class InputIndentationInvalidClassDefIndent extends Object { //indent:2 exp:0 warn
  
  
  } //indent:0 exp:0
  
  class InputIndentationInvalidClassDefIndentB extends javax.swing.JButton //indent:0 exp:0
    { //indent:2 exp:0 warn
  
  
    } //indent:2 exp:0 warn
  
  
    class InputIndentationInvalidClassDefIndentC  //indent:2 exp:0 warn
  { //indent:0 exp:0
  
  
    } //indent:2 exp:0 warn
  
  
  
  class InputIndentationValidClassDefIndent22  //indent:0 exp:0
    extends java.awt.event.MouseAdapter  //indent:2 exp:>=4 warn
    implements java.awt.event.MouseListener  //indent:2 exp:>=4 warn
  { //indent:0 exp:0
  
  } //indent:0 exp:0
  
  class InputIndentationValidClassDefIndent33 //indent:0 exp:0
    extends java.awt.event.MouseAdapter  //indent:2 exp:>=4 warn
      implements java.awt.event.MouseListener  //indent:4 exp:>=4
  { //indent:0 exp:0
  
  } //indent:0 exp:0
  
  final class InputIndentationValidClassDefIndent44 //indent:0 exp:0
      extends java.awt.event.MouseAdapter  //indent:4 exp:>=4
    implements  //indent:2 exp:>=4 warn
    java.awt.event.MouseListener  //indent:2 exp:>=4 warn
  { //indent:0 exp:0
  
  } //indent:0 exp:0
  
    final class InputIndentationValidClassDefIndent55 extends Object  //indent:2 exp:0 warn
    { //indent:2 exp:0 warn
  
  } //indent:0 exp:0
  
  
  final class InputIndentationValidClassDefIndent5b extends Object  //indent:0 exp:0
  { //indent:0 exp:0
  
    } //indent:2 exp:0 warn
  
  
  class InputIndentationInvalidClassDefIndentc2 //indent:0 exp:0
    extends java.awt.event.MouseAdapter implements java.awt.event.MouseListener {//indent:2 exp:4 warn
  
  
  } //indent:0 exp:0
  
  
  
  final class InputIndentationValidClassDefIndent66 extends Object { //indent:0 exp:0
  
    class foo { } //indent:2 exp:4 warn
  
        class fooBS { } //indent:6 exp:4 warn
  
  
    class foo2 { public int x; } //indent:2 exp:4 warn
  
  
      class foo3 {  //indent:4 exp:4
        public  //indent:6 exp:8 warn
              int x;  //indent:12 exp:>=10
      } //indent:4 exp:4
  
      class foo3b {  //indent:4 exp:4
          public  //indent:8 exp:8
            int x;  //indent:10 exp:>=12 warn
      } //indent:4 exp:4
  
  
      class foo4 {  //indent:4 exp:4
        public int x;  //indent:6 exp:8 warn
      } //indent:4 exp:4
  
      class foo4c {  //indent:4 exp:4
          public int x;  //indent:8 exp:8
        } //indent:6 exp:4 warn
  
        class foo4b {  //indent:6 exp:4 warn
          public int x;  //indent:8 exp:8
      } //indent:4 exp:4
  
  
      private void myMethod() { //indent:4 exp:4
        class localFoo { //indent:6 exp:8 warn
  
          } //indent:8 exp:8
            class localFoo1 { //indent:10 exp:8 warn
  
            } //indent:10 exp:8 warn
  
          class localFoo2 { //indent:8 exp:8
            int x; //indent:10 exp:12 warn
  
              int func() { return 3; } //indent:12 exp:12
          } //indent:8 exp:8
  
            new JButton().addActionListener(new ActionListener() //indent:10 exp:8 warn
          { //indent:8 exp:10,14 warn
              public void actionPerformed(ActionEvent e) { //indent:12 exp:12
  
              } //indent:12 exp:12
          }); //indent:8 exp:10,14 warn
  
  
          new JButton().addActionListener(new ActionListener()  //indent:8 exp:8
        { //indent:6 exp:8,12 warn
              public void actionPerformed(ActionEvent e) { //indent:12 exp:12
  
              } //indent:12 exp:12
        }); //indent:6 exp:8,12 warn
  
  
          new JButton().addActionListener(new ActionListener()  //indent:8 exp:8
          { //indent:8 exp:8,12
            public void actionPerformed(ActionEvent e) { //indent:10 exp:12 warn
  
            } //indent:10 exp:12 warn
          }); //indent:8 exp:8,12
  
  
          new JButton().addActionListener(new ActionListener() { //indent:8 exp:8
              public void actionPerformed(ActionEvent e) { //indent:12 exp:12
                  int i = 2; //indent:16 exp:16
              } //indent:12 exp:12
          }); //indent:8 exp:8,12
  
          Object o = new ActionListener()  //indent:8 exp:8
          { //indent:8 exp:8,12
              public void actionPerformed(ActionEvent e) { //indent:12 exp:12
  
              } //indent:12 exp:12
          }; //indent:8 exp:8,12
  
          myfunc2(10, 10, 10, //indent:8 exp:8
              myfunc3(11, 11, //indent:12 exp:>=12
                  11, 11), //indent:16 exp:>=16
              10, 10, //indent:12 exp:>=12
              10); //indent:12 exp:>=12
  
  
      } //indent:4 exp:4
  
      private void myfunc2(int a, int b, int c, int d, int e, int f, int g) { //indent:4 exp:4
      } //indent:4 exp:4
  
      private int myfunc3(int a, int b, int c, int d) { //indent:4 exp:4
          return 1; //indent:8 exp:8
      } //indent:4 exp:4
  } //indent:0 exp:0
  
  
  final  //indent:0 exp:0
  class InputIndentationValidClassDefIndent4d //indent:0 exp:4 warn
      extends  //indent:4 exp:4
          java.awt.event.MouseAdapter  //indent:8 exp:>=4
      implements  //indent:4 exp:>=4
          java.awt.event.MouseListener  //indent:8 exp:>=4
  { //indent:0 exp:0
  
  } //indent:0 exp:0
  