/**
  * @param PointInterface $point
  * @return string
  */
 public function serialize(PointInterface $point)
 {
     $length = CurveOidMapper::getByteSize($point->getCurve()) * 2;
     if ($this->debug) {
         error_log('Detected length: ' . $length);
         error_log('Unpadded:' . $this->adapter->decHex($point->getX()));
         error_log('Unpadded len:' . strlen($this->adapter->decHex($point->getX())));
         error_log('Padded: ' . str_pad($this->adapter->decHex($point->getX()), $length, '0', STR_PAD_LEFT));
     }
     $hexString = '04';
     $hexString .= str_pad($this->adapter->decHex($point->getX()), $length, '0', STR_PAD_LEFT);
     $hexString .= str_pad($this->adapter->decHex($point->getY()), $length, '0', STR_PAD_LEFT);
     if ($this->debug) {
         error_log('Resulting length: ' . strlen($hexString));
         error_log('Hex: ' . $hexString);
     }
     return $hexString;
 }