code: private Push findPushInLeftJoinRootedSubtree(IntermediateQuery query,
                                                   ImmutableExpression expression,
                                                   JoinOrFilterNode providerNode,
                                                   LeftJoinNode currentNode) {
          QueryNode leftChild = query.getChild(currentNode, LEFT)
                  .orElseThrow(() -> new MinorOntopInternalBugException("Was expecting a left child"));
  
          return query.getVariables(leftChild).containsAll(expression.getVariables())
                  ? new Push(new Recipient(leftChild), expression)
                  : getProviderAsPush(providerNode, expression);
      }
docs: This methods only propagates down an expression e coming from a provider parent p of a LJ node n,
  and not the joining condition of n.
  <p>
  e is not added to the joining condition of n,
  but may be propagated down d irectly to the left subtree of n