class RebindOperationExecutor implements
        CompensatingTransactionOperationExecutor {

    public void performOperation() {
        log.debug("Performing rebind operation - "
                + "renaming original entry and "
                + "binding new contents to entry.");
        ldapOperations.rename(originalDn, temporaryDn);
        ldapOperations.bind(originalDn, originalObject, originalAttributes);
    }

    public  RebindOperationExecutor(LdapOperations ldapOperations,
            Name originalDn, Name temporaryDn, Object originalObject,
            Attributes originalAttributes);

}