public function __construct($time, $memory, $nbCalls, Document $traceDocument = null)
{
Assertion::integer($time, 'Time is not an integer, got "%s"');
Assertion::greaterOrEqualThan($time, 0, 'Time must be greater than 0, got "%s"');
Assertion::integer($memory, 'Memory was not an integer, got "%s"');
Assertion::greaterOrEqualThan($memory, 0);
Assertion::integer($nbCalls, 'Number of calls was not an integer, got "%s"');
Assertion::greaterOrEqualThan($nbCalls, 0);
$this->time = $time;
$this->memory = $memory;
$this->nbCalls = $nbCalls;
// not serialized.
$this->traceDocument = $traceDocument;
}