Consider the following code snippet: public class InvoicePr…
Consider the following code snippet: public class InvoicePrinter { public void printInvoice(Invoice invoice) { double total = invoice.getSubtotal() + invoice.getTax() + invoice.getShippingCost() System.out.println(“Customer: “ + invoice.getCustomer().getName()); System.out.println(“Subtotal: “ + invoice.getSubtotal()); System.out.println(“Tax: “ + invoice.getTax()); System.out.println(“Shipping: “ + invoice.getShippingCost()); System.out.println(“Total: “ + total); } } public class Invoice { private double subtotal; private double tax; private double shippingCost; private Customer customer; // getters} Which code smell most describes this design, and what is the most appropriate refactoring treatment?