private void generateError(MacroBlock macroToReplace, String message, String description)
{
List<Block> errorBlocks = new ArrayList<Block>();
Map<String, String> errorBlockParams = Collections.singletonMap("class", "xwikirenderingerror");
Map<String, String> errorDescriptionBlockParams =
Collections.singletonMap("class", "xwikirenderingerrordescription hidden");
Block descriptionBlock = new VerbatimBlock(description, macroToReplace.isInline());
if (macroToReplace.isInline()) {
errorBlocks.add(new FormatBlock(Arrays.<Block> asList(new WordBlock(message)), Format.NONE,
errorBlockParams));
errorBlocks.add(new FormatBlock(Arrays.asList(descriptionBlock), Format.NONE, errorDescriptionBlockParams));
} else {
errorBlocks.add(new GroupBlock(Arrays.<Block> asList(new WordBlock(message)), errorBlockParams));
errorBlocks.add(new GroupBlock(Arrays.asList(descriptionBlock), errorDescriptionBlockParams));
}
macroToReplace.getParent().replaceChild(wrapInMacroMarker(macroToReplace, errorBlocks), macroToReplace);
}