greycode java project