public KieWorkbenchFormRenderingSettings generateRenderingContext(T settings) {
    if (!StringUtils.isEmpty(settings.getFormContent())) {

      try {
        MapModelRenderingContext renderingContext = new MapModelRenderingContext();

        initializeContextForms(settings, renderingContext);

        if (!isValid(renderingContext.getRootForm())) {
          return null;
        }

        Map<String, Object> rawData = generateRawFormData(settings, renderingContext);

        BackendFormRenderingContext context =
            contextManager.registerContext(
                renderingContext, rawData, settings.getMarshallerContext().getClassloader());

        Map<String, Object> formData = generateFormData(rawData, context);

        renderingContext.setModel(formData);

        prepareContext(settings, renderingContext);

        return new KieWorkbenchFormRenderingSettings(context.getTimestamp(), renderingContext);

      } catch (Exception ex) {
        getLogger().debug("Unable to generate render form: ", ex);
      }
    }

    return null;
  }