public function __construct()
 {
     $iCallLimit = BASECAMP_API_CALL_LIMIT;
     $iNow = time();
     if (self::$_iStartTime == 0) {
         self::$_iStartTime = time();
     } else {
         if ($iNow - self::$_iStartTime < $iCallLimit && self::$_iCounter >= $iCallLimit || self::$_iCounter >= $iCallLimit) {
             throw new XBasecampLimitException("Exceeded limit requests (" . $iCallLimit . " per " . $iSeconds . " seconds)");
         } else {
             if ($iNow - self::$_iStartTime > self::iSeconds) {
                 self::$_iCounter = 0;
                 self::$_iStartTime = time();
             }
         }
     }
     self::$_iCounter++;
     self::$_iElapsedTime = $iNow - self::$_iStartTime;
 }