This is an individual assignment. You may discuss it ONLY with the instructor. The goal is to create a stand-alone Java application based on the Jalopy core engine that will apply one formatting rule to a Java source code file. The people who wrote the Jalopy feasibility prototype probably don't need to do this assignment. Download the Jalopy-Core from: http://prdownloads.sourceforge.net/jalopy/jalopy-1.0b11.zip Use the Jalopy-Core API. http://jalopy.sourceforge.net/jalopy/apidocs/index.html There are two inputs to the application. 1. A Java source code file to be formatted. The name of this file is provided on the command line arguments. For example (on Unix), java -cp jalopy01.0b11.jar:. beautify Sample.java 2. A configuration file (in XML) containing the formatting rule (and value) to be applied. This file must be formatted as a Jalopy XML "conventions" file. Name this file "settings.xml". Each person on the team must implement a different formatting rule, from the following list: 1. Number of blank lines after the last import statement (int). 2. Insert unneccessary braces around single for statements? (boolean) 3. Should variable assignments should be aligned? (boolean) 4. Sort import statements? (boolean) 5. Insert parenthesis around expressions to make precedence clear? (boolean) 6. Pad mathematical operators? (boolean) The items in the above list are assigned to the team members in alphabetical order (by last name). Follow the class guidelines for printing source code and print the source code for your solution and the settings.xml file. (You may also be asked to demonstrate your solution during lab, so put your source files on your vogon account where they can be accessed.) Extra Credit: Turn your application into a BlueJ extension that uses a Preferences panel to set the formatting rule's value. Time Estimate: The instructor completed this assignment WITH the extra credit in about 6 hours. The extra credit took over half of the time. Tip: The hardest part for me was to discover the format of the xml file. To do this, I wrote a tiny program that created a Jalopy.Convention instance, put a settings key and value into that instance, and then used exportSettings().