No Repeats Write a Java program contained in a single file named "NoRepeats.java" that uses a loop to have the user enter a list of up to ten words (or phrases), one per line. The user should signal the end of the list by pressing the ENTER key by itself on an empty line. Your program must require the user to enter at least one word or phrase (by continuously querying the user until at least one entry is made), and it should not allow the user to enter more than ten words or phrases (after the tenth entry it should stop asking for new input). Your program must eliminate leading and trailing spaces from all user input. In addition to the above requirements, your program must use a loop to prevent the user from entering duplicate words or phrases. If the user enters a word or phrase that has already been entered, discard that entry, tell the user that duplicate entries are not allowed, and then have the user enter a new word or phrase. Your program should not modify the case of the words or phrases, but it should ignore case when checking for duplicate entries. Finally, after the user has entered up to ten unique words or phrases, your program should use a loop to display the word/phrase list back to the user, one entry per line. The words/phrases should be displayed back to the user in the same order in which they were entered. When displaying the list, if it contains fewer than ten words or phrases, make sure no blank (empty) lines or 'null' entries are displayed. For this program you must use a built-in Java array of strings to store the words and phrases. You are allowed to use only one array, and you may not use any other type of List (such as an ArrayList) or Collection anywhere in your program. Also, the maximum number of entries allowed (10) should be stored in your program as a globally-defined integer constant (all capital letters), and with the exception of the line where you define the constant, the number 10 (or 9 or 11) should not appear anywhere in your program. Other than the global constant and array of strings, you may not use any global variables for this assignment. In addition to 'main', you should have a separate method that gets the entries from the user, another method that checks for duplicate entries, and another method that displays the word/phrase list back to the user. Advanced Option When displaying the words back to the user, display the words arranged in order by length (number of characters), with the shortest word shown first. If the list contains multiple words with the same number of characters, then that group of words should be displayed in ascending alphabetical order (within the larger list of words, which should still be sorted by length). You may use additional arrays for this advanced option.