protected <T> Response<T> createResponse(final Request request, final T result, final ResultResponse resultResponse)
{
final LdapResult ldapResult = resultResponse.getLdapResult();
final Referral ref = ldapResult.getReferral();
return
new Response<>(
result,
ResultCode.valueOf(ldapResult.getResultCode().getValue()),
ldapResult.getDiagnosticMessage(),
ldapResult.getMatchedDn() != null ? ldapResult.getMatchedDn().getName() : null,
processResponseControls(config.getControlProcessor(), request.getControls(), resultResponse),
ref != null ? ref.getLdapUrls().toArray(new String[ref.getReferralLength()]) : null,
resultResponse.getMessageId());
}