Consumer CreditCompany Create a CreditCompany class that implements the Runnable interface. CreditCompany - mySharedQueue: ApplicationQueue +CreditCompany(mySharedQueue:ApplicationQueue) + run): void The run() method of this class should remove(take) applications from the shared Application ArrayBlocking Queue and process them. When processing an application, the company looks at the credit score and first determines whether it will approve the applicant's request for credit. Only scores of 580 or greater are approved. If the application is approved, update the application's approved field, then determine and update the application's approved credit limit based on the following table: Credit Score 580 - 669 670 - 739 Credit Limit $5,000 $10,000 $25.000 $50,000 740 - 799 800+ Display a message to the console to indicate the final status of the processed application. As in the following examples, include the thread's name in the status, as well as the credit score and if applicable, the approved and requested credit limits: C1: Application #11769 with credit score 831 is approved for $58880 (requested: $42746). C1: Application #11771 with credit score 496 is not approved. C2: Application #11770 with credit score 712 is approved for $18080 (requested: $13069). C1: Application #11772 with credit score 442 is not approved.