or else to connect two expressions, the entire condition evaluates is 'true', if at least one of the expressions is 'true'. However, the second expression is only evaluated when the first has proven to be 'false'.
This means that the field used in the second expression will not be asked before the first one was answered.
e is Entitye.number_of_major_shareholders > 0or elsee.number_of_managing_people > 0
Some organizations, like trusts or foundations, need a rule set that cascades through several layers. Each layer looks at a question or condition. If the answer to a question is 'no', or a condition evaluates to 'false', then and only then will the cascading continue to the next layer.
In this example, first you ask 'Are there any major shareholders?'. If there are, the condition on line 2 evaluates to 'true'. That's the end of it: the condition on line 4 will be discarded.
However, if there are no major shareholders, the or else operator means we cascade down to line 4, which asks if there are any managing people in the organization. If yes, the condition on line 4 evaluates to 'true', and the form to which the entire condition is attached will be filled out.