code: public function on(
          /*# string */ $firstTableCol,
          /*# string */ $operator = ClauseInterface::NO_OPERATOR,
          /*# string */ $secondTableCol = ClauseInterface::NO_VALUE,
          /*# bool */ $or = false
      ) {
          if (ClauseInterface::NO_OPERATOR === $operator) {
              $on = [$or, $firstTableCol, '=', $firstTableCol];
          } elseif (ClauseInterface::NO_VALUE === $secondTableCol) {
              $on = [$or, $firstTableCol, '=', $operator];
          } else {
              $on = [$or, $firstTableCol, $operator, $secondTableCol];
          }
          $this->clause_on[] = $on;
  
          return $this;
      }
docs: {@inheritDoc}