code: package it.unibz.inf.ontop.iq.node;
  
  import java.util.Optional;
  
  import it.unibz.inf.ontop.iq.exception.QueryNodeTransformationException;
  import it.unibz.inf.ontop.model.term.ImmutableExpression;
  import it.unibz.inf.ontop.iq.transform.node.HomogeneousQueryNodeTransformer;
  
  /**
   * See IntermediateQueryFactory for creating a new instance.
   */
  public interface LeftJoinNode extends JoinLikeNode, BinaryNonCommutativeOperatorNode {
  
      @Override
      LeftJoinNode acceptNodeTransformer(HomogeneousQueryNodeTransformer transformer)
              throws QueryNodeTransformationException;
  
      @Override
      LeftJoinNode changeOptionalFilterCondition(Optional<ImmutableExpression> newOptionalFilterCondition);
  }
  