Fixed issue #30

Added an extra conditional to prevent using MockProvider if it's an inner class, and added a test to verify that the new version works correctly. This fixes issue #30
public class InnerClass

I don't think you're using it outside, should work as package private.

The ordering we use the one from the GWT project:
Class Structure and Member Sort Order

Java types should have the following member order:

Nested Types (mixing inner and static classes is okay)
Static Fields
Static Initializers
Static Methods
Instance Fields
Instance Initializers
Constructors
Instance Methods
Members that fall into the same category (e.g. static methods) should also be sorted in this order based on visibility:

public
protected
default
private