I do not understand why we need to put synchronized before getByName() since it is just reading from the map instead of modifying it.