code: @Override
      protected Statement withBeforeClasses(final Statement originalStatement) {
          final Statement onlyBefores = super.withBeforeClasses(new EmptyStatement());
          return new Statement() {
              @Override
              public void evaluate() throws Throwable {
                  adaptor.beforeClass(
                      Arquillian.this.getTestClass().getJavaClass(),
                      new StatementLifecycleExecutor(onlyBefores));
                  originalStatement.evaluate();
              }
          };
      }
docs: /*
  Override BeforeClass/AfterClass and Before/After handling.
  
  Let super create the Before/After chain against a EmptyStatement so our newly created Statement
  only contains the method that are of interest to us(@Before..etc).
  They can then optionally be executed if we get expected callback.