. . . "Then, each class can validate the arguments to ensure that it can handle it, using return types and/or exceptions to deal with invalid data." .