This should explicitly raise an exception rather than just keep moving if the service_name is empty.

```ruby
raise ArgumentError, "service_name must be a non-empty string" unless service_name.is_a?(String) and !service_name.empty
```