What happens when you compile the following program?

public class X
{
    private final int i = 0;

    void method(int j)
    {
        class Inner
        {
            void innerMethod(int k) 
            {
                System.out.println(i + j + k);
            }
        }
    }
}
A) Error: "class Inner must be declared static."
B) Error: "Attempt to use a final variable i from a different method."
C) Error: "Attempt to use a non-final variable k."
D) Error: "Attempt to use a non-final variable j from a different method."
E) Error: "Cannot refer variable i from a static context."