Java advanced features CP130 assignment 05