class KinesisTableDescriptionSupplier implements Supplier<Map<SchemaTableName, KinesisStreamDescription>> {

    @Override
    public Map<SchemaTableName, KinesisStreamDescription> get()
    {
        if (s3TableConfigClient.isUsingS3()) {
            return s3TableConfigClient.getTablesFromS3();
        }

        return getTablesFromPath();
    }

    @Inject public  KinesisTableDescriptionSupplier(
            KinesisConfig kinesisConfig,
            JsonCodec<KinesisStreamDescription> streamDescriptionCodec,
            S3TableConfigClient s3TableConfigClient);

}