What will happen when you compile and run the following code snippet?

import java.util.*;
public class X
{
    public static void main(final String[] args)
    {
        final List al = 
            Collections.unmodifiableList(new ArrayList());
        al.add("123");
        System.out.println(al.size());
    }
}
A) Compiler error.
B) NullPointerException.
C) UnsupportedOperationException.
D) Output 0.
E) Output 1.