Effective java programming training firs commit