parameter datatypes do not have to match the return type, only return type has to match the return type. Actual parameter has to match the formal parameter type

it is good programming practice to not modify mutable objects within methods unless that is a required feature of the method