When generating API stubs with the scaffold utility using, e.g., `python -m localstack.aws.scaffold sns`,
the scaffold creates method names from operation names, which are ugly when acronyms (subsequent uppercase characters that belong together).

Example:
`CreateSMSSandboxPhoneNumber` -> `create_s_m_s_sandbox_phone_number`

it would be nicer to have `create_sms_sandbox_phone_number`

This is a limitation of this method: https://github.com/localstack/localstack/blob/1888e66b85d7e6a8ee457bc7a732984fcf7aa830/localstack/utils/common.py#L978-L979
def proxy():
            ident = self._ident()
            ctx = self.CONTEXTS_BY_THREAD.get(ident)
            if ctx:
                return ctx._stdout if type == "stdout" else ctx._stderr
            return original_stream
        return proxy
    def _ident(self):
        
        return threading.current_thread().ident
    def stdout(self):
        return self._stream_value(self._stdout)
    def stderr(self):
        return self._stream_value(self._stderr)
    def _stream_value(self, stream):
        return stream.getvalue() if hasattr(stream, "getvalue") else stream
class ObjectIdHashComparator:
    """Simple wrapper class that allows us to create a hashset using the object id(..) as the entries' hash value"""
    def __init__(self, obj):
        self.obj = obj
        self._hash = id(obj)
    def __hash__(self):
        return self._hash
    def __eq__(self, other):
        
        return self.obj == other.obj
class ArbitraryAccessObj: