add GrayCode.java class