Java Case Study