@Override public Response<?> extendedOperation(final ExtendedRequest request) throws LdapException { Response<?> response = null; try { final ExtendedResponse apacheExtRes = connection.extended(request.getOID(), request.encode()); throwOperationException(request, apacheExtRes); byte[] responseValue = null; if (apacheExtRes instanceof ExtendedResponseDecorator) { responseValue = ((ExtendedResponseDecorator) apacheExtRes).getResponseValue(); } final org.ldaptive.extended.ExtendedResponse<?> extRes = ExtendedResponseFactory.createExtendedResponse( request.getOID(), apacheExtRes.getResponseName(), responseValue); response = createResponse(request, extRes.getValue(), apacheExtRes); } catch (LdapOperationException e) { processLdapOperationException(e); } catch (org.apache.directory.api.ldap.model.exception.LdapException e) { processLdapException(e); } return response; }