question: private Challenge prepareDnsChallenge ( Authorization authorization ) { final Dns01Challenge dns01Challenge = authorization . findChallenge ( Dns01Challenge . TYPE ) ; if ( dns01Challenge == null ) { log . error ( "Received no challenge from authorization for {}" , authorization . getDomain ( ) ) ; throw new LetsencryptException ( "Received no challenge" ) ; } final String challengeRecord = "_acme-challenge." + authorization . getDomain ( ) ; final String rootZone = dnsResponder . addChallengeRecord ( challengeRecord , dns01Challenge . getDigest ( ) ) ; final DnsRecordObserver observer = new DnsRecordObserver ( challengeRecord , rootZone , dns01Challenge . getDigest ( ) ) ; observer . observeDns ( ) ; return dns01Challenge ; }
target:  Creates a DNS challenge and calls the DNS responder with the challenge data. Once this function returns the challenge, it should validate fine.