/**
  * Default constructor used only internally.
  */
 public function __construct($p = null)
 {
     if ($p instanceof S2Point) {
         $this->init(S2CellId::fromPoint($p));
     } else {
         if ($p instanceof S2LatLng) {
             $this->init(S2CellId::fromLatLng($p));
         } else {
             if ($p instanceof S2CellId) {
                 $this->init($p);
             }
         }
     }
 }