Looking for 'professional' indie game-code to read.

I am an intermediate Java programmer, and a beginner game developer. I created a number of simple games, with simple AI and game mechanics.

I’m looking for some source code to read, in order to get a feel of what more ‘professional’ source code looks like, and what more ‘professional’ game and application structure looks like.

The code should be:

A) Understandable. Nothing that is too hard to follow.

B) “Common”. I want the code to use common ideas and practices, nothing “revolutionary”, because I want to get a feel of what game code ‘commonly looks like’.

C) Doesn’t rely too much on a library or engine that I don’t know. Basically currently I’m only familiar with Java2D and Swing. The code of course can be using different libraries (and most probably would), but I don’t want it to rely too much on the specific library, so I’ll be able to understand it.

D) Preferably 2D game.

E) Not too big and not too small.

I want it to be a good ‘first introduction’ to some ‘professional’ indie code, so I’ll get a feel of what it looks like, and how the game and app are structured.

Thanks