@Override
        public boolean equals(Object o) {
            if (this == o) {
                return true;
            }
            if (!(o instanceof CacheKey)) {
                return false;
            }
            final CacheKey that = (CacheKey) o;
            return mode == that.mode &&
                   Objects.equals(tlsKeyPair, that.tlsKeyPair) &&
                   trustedCertificates.equals(that.trustedCertificates);
        }
Returns an {@link SslContext} for the specified {@link SslContextMode} and {@link TlsKeyPair}.
Note that the returned {@link SslContext} should be released via
{@link ReferenceCountUtil#release(Object)} when it is no longer used.
core/src/main/java/com/linecorp/armeria/internal/common/SslContextFactory.java