Class Hierarchy
- java.lang.Object
- io.ably.lib.util.AgentHeaderCreator
 - io.ably.lib.util.Base64Coder
 - io.ably.lib.util.ClientOptionsUtils
 - io.ably.lib.util.CollectionUtils
 - io.ably.lib.util.Crypto
 - io.ably.lib.util.Crypto.CipherParams
 - io.ably.lib.util.CurrentThreadExecutor (implements io.ably.lib.http.CloseableExecutor)
 - io.ably.lib.util.EventEmitter<Event,
Listener>  - io.ably.lib.util.EventEmitter.Filter
 - io.ably.lib.util.InternalMap<K,
V> (implements io.ably.lib.types.ReadOnlyMap<K, V>)  - io.ably.lib.util.JavaPlatformAgentProvider (implements io.ably.lib.util.PlatformAgentProvider)
 - io.ably.lib.util.JsonUtils
 - io.ably.lib.util.JsonUtils.JsonUtilsObject
 - io.ably.lib.util.Log
 - io.ably.lib.util.Log.DefaultHandler (implements io.ably.lib.util.Log.LogHandler)
 - io.ably.lib.util.Multicaster<T>
 - io.ably.lib.util.ParamsUtils
 - io.ably.lib.util.ReconnectionStrategy
 - io.ably.lib.util.Serialisation
 - io.ably.lib.util.Serialisation.HttpBodyHandler<T> (implements io.ably.lib.http.HttpCore.BodyHandler<T>)
 - io.ably.lib.util.Serialisation.HttpResponseHandler<T> (implements io.ably.lib.http.HttpCore.ResponseHandler<T>)
 - io.ably.lib.util.StringUtils
 
 
Interface Hierarchy
- io.ably.lib.util.Crypto.DecryptingChannelCipher
 - io.ably.lib.util.Crypto.EncryptingChannelCipher
 - io.ably.lib.util.Log.LogHandler
 - io.ably.lib.util.PlatformAgentProvider
 - io.ably.lib.util.Serialisation.FromJsonElement<T>