La posición del grupo de nodos se restablece al comienzo de SCNNode.runAction

Tengo un código que gira varios SCNNodes alrededor del eje x cuando la pantalla se toca así:

func handleTap(gestureRecognize: UIGestureRecognizer) {
    let sceneView = self.view as SCNView

    let slice = self.cubes[0...8]
    let container = SCNNode()
    for node: SCNNode in slice {
        container.addChildNode(node)
    }
    sceneView.scene!.rootNode.addChildNode(container)
    container.runAction(SCNAction.rotateByX(CGFloat(M_PI / 2), y: 0.0, z: 0.0, duration: 1), completionHandler: { () -> Void in
        println("complete")
    })
}

El problema con el que me encuentro es que cada vez que se llama a esta función, los nodos parecen restablecerse a su posición original antes de realizar la acción. Cuando se completa la acción, parecen permanecer en el lugar correcto hasta que se vuelve a tocar la pantalla. ¿Cómo hago llamadas posteriores ahandleTap rotarlos desde su posición actual?

Intenté eliminar los nodos de su padre original antes de agregarlos al contenedor, pero no tiene ningún efecto visible.

También he intentado usar una animación.

    let spin = CABasicAnimation(keyPath: "rotation")
    spin.fromValue = NSValue(SCNVector4: SCNVector4(x: -1, y: 0, z: 0, w: 0))
    spin.toValue = NSValue(SCNVector4: SCNVector4(x: -1, y: 0, z: 0, w: Float(M_PI_2)))
    spin.duration = 3
    spin.repeatCount = .infinity
    container.addAnimation(spin, forKey: "spin around")

Que tuvo exactamente el mismo efecto que la acción.

Si vuelvo a colocar los nodos como hijos de la vista raíz en el bloque completo de runAction

    container.runAction(action, completionHandler: { () -> Void in
        println("completed rotation")
        for node: SCNNode in slice {
            node.removeFromParentNode()
            sceneView.scene!.rootNode.addChildNode(node)
        }
    })

Luego, los nodos se devuelven a su posición original al finalizar la acción, en lugar de al comienzo de un nuevo toque.

Respuestas a la pregunta(1)

Su respuesta a la pregunta