class InstantRunVerifierTransform extends Transform {

    @Override
    public void transform(@NonNull TransformInvocation invocation)
            throws IOException, TransformException, InterruptedException {

        if (invocation.getReferencedInputs().isEmpty()) {
            throw new RuntimeException("Empty list of referenced inputs");
        }
        try {
            variantScope
                    .getInstantRunBuildContext()
                    .startRecording(InstantRunBuildContext.TaskType.VERIFIER);
            doTransform(invocation.getReferencedInputs(), invocation.isIncremental());
        } finally {
            variantScope
                    .getInstantRunBuildContext()
                    .stopRecording(InstantRunBuildContext.TaskType.VERIFIER);
        }
    }

    public  InstantRunVerifierTransform(
            @NonNull InstantRunVariantScope variantScope, @NonNull Recorder recorder);

}