static function ParseJsonSet($oMe, $sLinkClass, $sExtKeyToMe, $sJsonSet)
 {
     $aSet = json_decode($sJsonSet, true);
     // true means hash array instead of object
     $oSet = CMDBObjectSet::FromScratch($sLinkClass);
     foreach ($aSet as $aLinkObj) {
         $oLink = MetaModel::NewObject($sLinkClass);
         foreach ($aLinkObj as $sAttCode => $value) {
             $oAttDef = MetaModel::GetAttributeDef($sLinkClass, $sAttCode);
             if ($oAttDef->IsExternalKey() && $value != '' && $value > 0) {
                 // For external keys: load the target object so that external fields
                 // get filled too
                 $oTargetObj = MetaModel::GetObject($oAttDef->GetTargetClass(), $value);
                 $oLink->Set($sAttCode, $oTargetObj);
             }
             $oLink->Set($sAttCode, $value);
         }
         $oLink->Set($sExtKeyToMe, $oMe->GetKey());
         $oSet->AddObject($oLink);
     }
     return $oSet;
 }