Where can I learn about the different parse events?

Greetings,
I’m developing a Process Engine Plugin and have a few questions.

  1. What is the difference between preInit, postInit, and postProcessEngineBuild methods of the ProcessEnginePlugin interface (other than the basic info)? Some examples use preInit (like the current Maven Archetype) and some use postInit, but there is no explanation that I can find as to why choose one over the other.

  2. Where can I find the details of the different parse events of the AbstractBpmnParseListener class? Can someone explain how parsing works? When do these methods get called?

For reference, I’ll am using the Run distribution. I have already found the information on configuring Spring to load my packages and I have the basic Plugin project archetype loading and I’m seeing the log entries.

Thanks in advance,
-Doug