/**
  * @param \SimpleXMLElement $xml
  * @return array|ActivityLogsCollection
  */
 protected function buildActivityLogsFromXml(\SimpleXMLElement $xml)
 {
     $activityLogsCollection = new ActivityLogsCollection();
     if ($xml->totalCount instanceof \SimpleXMLElement) {
         $activityLogsCollection->setTotalCount((int) $xml->totalCount->__toString());
     }
     $activityLogs = $xml->xpath('activitylog');
     foreach ($activityLogs as $activityLog) {
         $activityLogsObject = new ActivityLogs();
         $activityLogsObject->__setProperty('id', (int) $activityLog->id);
         if (trim($activityLog->logtime) != '') {
             //we assume that the restAPI always return y-m-d H:i:s in the utc format
             $logTime = $this->dateTimeService->getDateTimeFromApiDateString($activityLog->logtime);
             $activityLogsObject->__setProperty('logTime', $logTime);
         }
         $activityLogsObject->__setProperty('processId', (string) $activityLog->processid);
         $activityLogsObject->__setProperty('severity', (string) $activityLog->severity);
         $activityLogsObject->__setProperty('message', (string) $activityLog->message);
         $activityLogsObject->__setProperty('additionalData', (array) $activityLog->additionaldata);
         $activityLogsObject->__setProperty('packageKey', (string) $activityLog->packagekey);
         $activityLogsObject->__setProperty('className', (string) $activityLog->classname);
         $activityLogsObject->__setProperty('methodName', (string) $activityLog->methodname);
         $activityLogsObject->__setProperty('tag', (string) $activityLog->tag);
         $activityLogsCollection[] = $activityLogsObject;
         $activityLogsObject->afterReconstitution();
     }
     return $activityLogsCollection;
 }