* @return true if the graph is created successfully
*/
private boolean buildGemGraph () {
try {
gemGraph = new GemGraph ();
DurationLogger logger = new DurationLogger ();
addCollectorForMessage();
addCollectorsForMessageProperties ();
addCollectorsForMetrics();
logger.report("Time to add collectors: ", true);
Gem triggerResultGem = addTriggerGems ();
logger.report("Time to add triggers: ", true);
Gem actionResultGem = addActionGems ();
logger.report("Time to add actions: ", true);
finishGemGraph (triggerResultGem, actionResultGem);
logger.report("Time to finish graph: ", true);
assert graphIsValid() : gemGraph.toString();
return true;
} catch (Exception e) {