Language Tricks to Shorten My Java Code?
I am currently rediscovering Java (working with Ruby a lot recently), and I love the compilation-time checking of everything. It makes refactoring so easy. However, I miss playing fast-and-loose with types to do an `each` loop. This is my worst code. 

**Is this as short as it can be?** I have a collection called `looperTracks`, which has instances that implement `Looper`. I don't want to modify that collection, but I want to iterate through its members PLUS the `this` (which also implements `Looper`). 

	List<Looper> allLoopers = new ArrayList<Looper>(looperTracks.length + 1);
	for (LooperTrack track : looperTracks) {
		allLoopers.add(track);
	}
	allLoopers.add(this);
		
	for (Looper looper : allLoopers) {
        // Finally! I have a looper

**I'm particularly concerned about any features that are new to Java from 1.5 on that I may have missed.** For this question I am **not** asking about JRuby nor Groovy, though I know that they would work for this.
Language Tricks to Shorten My Java Code?
===

I am currently rediscovering Java (working with Ruby a lot recently), and I love the compilation-time checking of everything. It makes refactoring so easy. However, I miss playing fast-and-loose with types to do an `each` loop. This is my worst code. 

**Is this as short as it can be?** I have a collection called `looperTracks`, which has instances that implement `Looper`. I don't want to modify that collection, but I want to iterate through its members PLUS the `this` (which also implements `Looper`). 

	List<Looper> allLoopers = new ArrayList<Looper>(looperTracks.length + 1);
	for (LooperTrack track : looperTracks) {
		allLoopers.add(track);
	}
	allLoopers.add(this);
		
	for (Looper looper : allLoopers) {
        // Finally! I have a looper

**I'm particularly concerned about any features that are new to Java from 1.5 on that I may have missed.** For this question I am **not** asking about JRuby nor Groovy, though I know that they would work for this.