@Override
                public void onComplete(String key, ARImageTarget newTarget) {
                    ARDeclarativeImageNode imageNode = (ARDeclarativeImageNode) getNodeJni();
                    if (imageNode != null) {
                        ARImageTarget oldTarget = imageNode.getARImageTarget();
                        imageNode.setARImageTarget(newTarget);
                        ARScene arScene = (ARScene) mScene.getNativeScene();
                        if (arScene != null) {
                            if (shouldAddToScene) {
                                // add the node
                                arScene.addARDeclarativeNode(imageNode);
                            } else {
                                // remove old ARImageTarget and update the ARNode
                                if (oldTarget != null) {
                                    arScene.removeARImageTargetDeclarative(oldTarget);
                                }
                                arScene.updateARDeclarativeNode(imageNode);
                            }
                            // always add the ARImageTarget
                            arScene.addARImageTargetDeclarative(newTarget);
                        }
                    }
                }
This function fetches the target and either creates a new ARDeclarativeImageNode or
updates it with the new target.

@param shouldAddToScene whether or not this should add or update an existing
                        ARDeclarativeImageNode
android/viro_bridge/src/main/java/com/viromedia/bridge/component/node/VRTARImageMarker.java