private void handleConfirmationState(final UnprovisionedMeshNode node, final byte[] data) {
        switch (node.getAuthMethodUsed()) {
            case STATIC_OOB_AUTHENTICATION:
                provisioningState = new ProvisioningConfirmationState(node, this, mInternalTransportCallbacks, mStatusCallbacks);
                mStatusCallbacks.onProvisioningStateChanged(mUnprovisionedMeshNode, ProvisioningState.States.PROVISIONING_AUTHENTICATION_STATIC_OOB_WAITING, data);
                break;
            case OUTPUT_OOB_AUTHENTICATION:
                provisioningState = new ProvisioningConfirmationState(node, this, mInternalTransportCallbacks, mStatusCallbacks);
                mStatusCallbacks.onProvisioningStateChanged(mUnprovisionedMeshNode, ProvisioningState.States.PROVISIONING_AUTHENTICATION_OUTPUT_OOB_WAITING, data);
                break;
            case INPUT_OOB_AUTHENTICATION:
                provisioningState = new ProvisioningInputCompleteState(node, mInternalTransportCallbacks, mStatusCallbacks);
                mStatusCallbacks.onProvisioningStateChanged(mUnprovisionedMeshNode, ProvisioningState.States.PROVISIONING_AUTHENTICATION_INPUT_OOB_WAITING, data);
                break;
            default:
                provisioningState = new ProvisioningConfirmationState(node, this, mInternalTransportCallbacks, mStatusCallbacks);
                sendProvisioningConfirmation("");
                break;
        }
    }
Read provisioning capabilities of node

@param capabilities provisioning capabilities of the node
@return true if the message is valid
mesh/src/main/java/no/nordicsemi/android/mesh/MeshProvisioningHandler.java