private static void downloadContent(final Path contentPacksDefinition,
                                        final PathCreator pathCreator,
                                        final ContentPackImportConfig contentPackImportConfig,
                                        final HttpClient httpClient) {
        try {
            final Path downloadDir =
                    pathCreator.toAppPath(ContentPackZipDownloader.CONTENT_PACK_DOWNLOAD_DIR);
            final Path importDir =
                    pathCreator.toAppPath(contentPackImportConfig.getImportDirectory());

            Files.createDirectories(downloadDir);
            Files.createDirectories(importDir);

            ContentPackZipDownloader.downloadZipPacks(
                    contentPacksDefinition,
                    downloadDir,
                    importDir,
                    httpClient);
        } catch (final IOException e) {
            throw new RuntimeException(e.getMessage(), e);
        }
    }
A main() method for pre-loading the stroom database with content and data for manual testing
of the application.
<p>
***********************************************************************************************
IMPORTANT - This should only be run from the gradle task setupSampleData, NOT from the IDE.
The gradle task does the additional step of downloading content packs and placing them in the
appropriate directory for auto-import into stroom on boot. If you run it from the IDE you will
not get the content packs.
***********************************************************************************************
<p>
The aim of setupSampleData is to load test content and data that is located in
stroom-core/src/test/resources/samples. The content in this folder should NOT duplicate any content
that is available in content packs.
<p>
The content packs that get downloaded (for auto import) are defined in the root build.gradle file.
stroom-app/src/test/java/stroom/test/SetupSampleData.java