Hi Maciej,
I understand why getParent() return Execution, because a splited execution could has sub process instance.
I cannot understand why getProcessInstance() has to return Execution, it should return process instance by its meaning. And ProcessInstance is extends from Execution, it has all method declarations of Execution. Return ProcessInstance is more clearly, and won't effect any Backward compatibility.
Do you have any idea about this?