@Test
public void createUnmodifiableStatementShouldCopyListDefensively() throws Exception {

    // setup
    final TypeElement element = elements.getTypeElement(List.class.getCanonicalName());
    final TypeMirror mirror = element.asType();

    // exercise
    final CodeBlock actual = CodeBlocks.createUnmodifiableStatement(mirror, "value");

    // verify
    assertThat(actual.toString())
            .isEqualTo("new java.util.ArrayList<>(value)");
}