TimeStamp TimeStamp::operator-(const TimeStamp & t) const {
            int32_t deltaSeconds = m_seconds - t.getSeconds();
            int32_t deltaMicroseconds = m_microseconds - t.getFractionalMicroseconds();

            while (deltaMicroseconds < 0) {
                deltaSeconds--;
                deltaMicroseconds += 1000000L;
            }

            return TimeStamp(deltaSeconds, deltaMicroseconds);
        }
        TimeStamp TimeStamp::operator+(const TimeStamp & t) const {
            int32_t sumSeconds = m_seconds + t.getSeconds();
            int32_t sumMicroseconds = m_microseconds + t.getFractionalMicroseconds();

            while (sumMicroseconds > 1000000L) {
                sumSeconds++;
                sumMicroseconds -= 1000000L;
            }

            return TimeStamp(sumSeconds, sumMicroseconds);
        }