Different shells has been provided for you to fill in. You must start implementing the files in the following order 1. Team class 2. TeamNode 3. shellLinkist 4. TeamLinkList 5. TeamLinkListClient The code for some of the methods has been provided for you. Problem: Code a class encapsulating a singly link list of football teams. A football team has the following attributes: Team's nickname 1. 2. Its number of wins Its number of losses ( assumed there are no tie games) 3. Implement the following methods: 1. 2. 3. 4. Constructor Insert Delete Peek toString: returns a string containing the info about all the teams mostWins: this method returns the team with the most wins bestFive: this method returns the top five teams based on the winning percentage. If multiple teams have the same winning percentage, just return the first five teams Search: this method search the list for a particular team and returns the information for the team. If the team is not in the list it should return null. 5. 6. 7. 8. 9. Count: this method returns the number of the teams in the list. 10. isEmpty: returns true if the list is not empty, and returns false otherwise. Write a driver class that does the following: 1. 2. creates an object of the list write a method called populate that populate the list by reading from a file that you need to create 3. Write a method that accepts the name of the team and the list of all the teams as its parameter 4. Write a method called first team that accepts the list of the team as its parameter and returns 5. Write a method call insert that accepts the list of the team as its parameter. This method asks 6. Read the following information for each team from a file and create the link list by calling and then call the method delete to delete that team from the list. the first team in the list. for a team information, then adds the team to the list appropriate methods