PageManager API not creating components
Using AEM 6.3.
We are generating some recipe detail pages programmatically based on recipe data using the PageManager API.
The recipe detail page is based on a template which contains a collection of components.
When creating a recipe detail through the Touch UI (Sites > Create > Page > Template: Recipe Detail > Name: RecipeTest) the page is created as shown below.

RecipeTest Node Properties

jar:content Node Properties

However, when using the PageManager API as illustrated in the code snippet below, which uses the same template it behaves differently.
// Create Page
PageManager pageManager = resourceResolver.adaptTo(PageManager.class);
prodPage = pageManager.create(path, pageName, _recipeDetailsTemplate, pageTitle, true);
_logger.debug(String.format("Created page using Template[%s]", _recipeDetailsTemplate));
Node pageNode = prodPage.adaptTo(Node.class);
Node jcrNode = null;
if (prodPage.hasContent()) {
jcrNode = prodPage.getContentResource().adaptTo(Node.class);
jcrNode.setPrimaryType("cq:PageContent");
_logger.debug(String.format("hasContent() so adapted Path[%s]", jcrNode.getPath()));
} else {
jcrNode = pageNode.addNode("jcr:content", "cq:PageContent");
}
jcrNode.setProperty("cq:template", _recipeDetailsTemplate);
jcrNode.setProperty("sling:resourceType", _recipeDetailsRenderer);
_logger.debug(String.format("Set Renderer[%s]", _recipeDetailsRenderer));
_jcrSession.refresh(true);
When using the PageManager as shown above I expected to get the same behaviour but what gets created is this.

You'll notice it is missing the root node and the recipetitle component node.
RecipeTest Node Properties

jar:content Node Properties

I was expecting the page content to be created (recipe title component or whatever is on the specified template) but when creating the page programmatically that doesn't happen.
Clearly I'm missing something, can anyone help?
