Seems really basic, but keep having problems moving a group inside another group (tested CC 2014 and 2015). So following code throws an illegal argument error at the .move-line (I've also tried other variants like .PLACEATBEGINNING and .INSIDE):
var doc = app.documents.add( 256, 256, 72, "foo")
var group1 = doc.layerSets.add()
var group2 = doc.layerSets.add()
group1.move(group2, ElementPlacement.PLACEATEND)
doc.close(SaveOptions.DONOTSAVECHANGES)
But this way works OK
var doc = app.documents.add( 256, 256, 72, "foo")
var group1 = doc.layerSets.add()
var group2 = doc.layerSets.add()
var layer1 = group1.artLayers.add()
var layer2 = group2.artLayers.add()
group1.move(layer2 , ElementPlacement.PLACEAFTER)
doc.close(SaveOptions.DONOTSAVECHANGES)
Any cracked what limitations are in play here? You can do latter, but then you might need to create & remove tmp layers to use as target.