In answer to my own question. Putting the original code into the eclipse IDE yields a boxing warning but no unboxing warning. Substituting the println line with char c = holder.remove(0); does generate an unboxing warning. Therefore, I think that it's safe to assume that unboxing is not occurring in the original example.