From ImmutableList javadocs:
Unlike Collections.unmodifiableList(java.util.List), which is a view of a separate collection that can still change
ImmutableList is similar to Collections.unmodifiableList( new ArrayList( list ) ) . Note that the newly created ArrayList is not assigned to a field or variable.
ImmutableList
Collections.unmodifiableList( new ArrayList( list ) )
ArrayList