class CacheImpl implements Cache {

    @Override
    public Map<String, Object> getBulk(final Collection<String> keys, final SerializationType serializationType) throws TimeoutException,
            CacheException {

        switch (getSerializationType(serializationType)) {
        case JAVA:
            return getBulk(keys, SerializationType.JAVA, javaTranscoder);
        case JSON:
            return getBulk(keys, SerializationType.JSON, jsonTranscoder);
        case PROVIDER:
            return getBulk(keys, SerializationType.PROVIDER, null);
        case CUSTOM:
            return getBulk(keys, SerializationType.CUSTOM, customTranscoder);
        default:
            throw new IllegalArgumentException(String.format("Serialization type %s is not supported", serializationType));
        }
    }

      CacheImpl(final String name, final Collection<String> aliases, final CacheClient cacheClient,
            final SerializationType defaultSerializationType, final JsonTranscoder jsonTranscoder, final JavaTranscoder javaTranscoder,
            final CacheTranscoder customTranscoder, final CacheProperties properties);

}