protected void execute(SignatureFile file) {
        this.file = file;

        new Thread(new Runnable() {
            @Override
            public void run() {
                if (signatureListener != null) {
                    signatureListener.processStart();
                }
                onPreExecute();
                Result result = doInBackground();
                onPostExecute(result);
                if (signatureListener != null) {
                    signatureListener.processEnd();
                }
            }
        }).start();
    }