//new Object with merged layers and other features
$wmcGetApi->createFromXml($xml);
//
// CONSTRAINTS
//
$currentUser = new User();
// remove all WMS with no permission
$deniedIdsArray = $wmcGetApi->getWmsWithoutPermission($currentUser);
$deniedIdsTitles = array();
$deniedIdsIndices = array();
foreach ($deniedIdsArray as $i) {
    $deniedIdsTitles[] = array("id" => $i["id"], "index" => $i["index"], "title" => $i["title"]);
    $deniedIdsIndices[] = $i["index"];
}
$resultObj["noPermission"]["wms"] = array_merge($resultObj["noPermission"]["wms"], $deniedIdsTitles);
$wmcGetApi->removeWms($deniedIdsIndices);
// find WMS without ID
$withoutIdsArray = $wmcGetApi->getWmsWithoutId();
$withoutIdsTitles = array();
foreach ($withoutIdsArray as $i) {
    $withoutIdsTitles[] = array("id" => $i["id"], "index" => $i["index"], "title" => $i["title"]);
}
$resultObj["withoutId"]["wms"] = array_merge($resultObj["withoutId"]["wms"], $withoutIdsTitles);
// find orphaned WMS
$invalidIdsArray = $wmcGetApi->getInvalidWms();
$invalidIdsTitles = array();
foreach ($invalidIdsArray as $i) {
    $invalidIdsTitles[] = array("id" => $i["id"], "index" => $i["index"], "title" => $i["title"]);
}
$resultObj["invalidId"]["wms"] = array_merge($resultObj["invalidId"]["wms"], $invalidIdsTitles);
// find potentially unavailable WMS