Sample Java delegate pattern project