title: Understanding how to resolve "Inconsistent stackmap frames" exception
body: <p>I get an exception on startup of the web application as guice is trying to construct the class mentioned.</p>
  
  <pre><code>java.lang.VerifyError: Inconsistent stackmap frames at branch target 2770 in method com.aptusi.apps.magazine.api.servlet.internal.EditorServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/String;Lcom/aptusi/persistence/runtime/framework/DboSession;)V at offset 200
  at java.lang.Class.getDeclaredConstructors0(Native Method)
  at java.lang.Class.privateGetDeclaredConstructors(Class.java:2483)
  at java.lang.Class.getDeclaredConstructors(Class.java:1891)
  at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:243)
  at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:96)
  at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:629)
  at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:845)
  at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:772)
  at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:256)
  at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:205)
  at com.google.inject.internal.InjectorImpl.getBinding(InjectorImpl.java:146)
  at com.google.inject.internal.InjectorImpl.getBinding(InjectorImpl.java:66)
  at com.google.inject.servlet.ServletDefinition.init(ServletDefinition.java:103)
  at com.google.inject.servlet.ManagedServletPipeline.init(ManagedServletPipeline.java:82)
  at com.google.inject.servlet.ManagedFilterPipeline.initPipeline(ManagedFilterPipeline.java:102)
  at com.google.inject.servlet.GuiceFilter.init(GuiceFilter.java:172)`
  </code></pre>
  
  <p>I know about the -XX:-UseSplitVerifier and -noverify jvm options but I don't want to use as I want to ensure that all the code in this project is at least java version 7.</p>
  
  <p>In order to do this It would be useful to understand where exactly this is occurring in my code, its not clear to me what the offset of 200 mentioned is but can it be related to a line number?</p>
  
  <p>Also does anyone know of a way that I can find out the java versions of all classes on my classpath, I am using maven so there are a lot of dependencies, so I'm looking for an automated way of finding any classes on the classpath that may have been compiled to a lower java version than 1.7?</p>