public function __construct()
 {
     parent::__construc(LogicalJunction::AND);
 }
 public static function phpObjectToLogicalJunction($pPhpObject, &$pLeftJoins, $pLiteralCollection = null)
 {
     if (!isset($pPhpObject->type) || isset($pPhpObject->logicalJunctions) && !is_array($pPhpObject->logicalJunctions) || isset($pPhpObject->literals) && !is_array($pPhpObject->literals)) {
         throw new \Exception("malformed phpObject LogicalJunction : " . json_encode($pPhpObject));
     }
     $lLogicalJunction = new LogicalJunction($pPhpObject->type);
     if (isset($pPhpObject->logicalJunctions)) {
         foreach ($pPhpObject->logicalJunctions as $lPhpObjectLogicalJunction) {
             $lLogicalJunction->addLogicalJunction(LogicalJunction::phpObjectToLogicalJunction($lPhpObjectLogicalJunction, $pLeftJoins, $pLiteralCollection));
         }
     }
     if (isset($pPhpObject->literals)) {
         foreach ($pPhpObject->literals as $lPhpObjectLiteral) {
             $lLogicalJunction->addLiteral(Literal::phpObjectToLiteral($lPhpObjectLiteral, $pLeftJoins, $pLiteralCollection));
         }
     }
     return $lLogicalJunction;
 }