def METHOD_NAME(self, builder: NeonIxBuilder, resource: OpResInfo) -> None:
    holder_address = str(resource.holder_account)
    holder_info = self._solana.get_holder_account_info(resource.holder_account)
    size = self._config.holder_size
    balance = self._solana.get_multiple_rent_exempt_balances_for_size([size])[0]
    if holder_info is None:
        LOG.debug(f'Create account {holder_address} for resource {resource}')
        self._execute_stage(NeonCreateHolderAccountStage(builder, resource.holder_seed, size, balance), resource)
    elif holder_info.lamports < balance:
        LOG.debug(f'Resize account {holder_address} for resource {resource}')
        self._recreate_holder(builder, resource, balance)
    elif holder_info.owner != self._config.evm_program_id:
        raise BadResourceError(f'Wrong owner of {str(holder_info.owner)} for resource {resource}')
    elif holder_info.tag == ACTIVE_HOLDER_TAG:
        raise StuckTxError(holder_info.neon_tx_sig, holder_address)
    elif holder_info.tag not in {FINALIZED_HOLDER_TAG, HOLDER_TAG}:
        LOG.debug(f'Wrong tag {holder_info.tag} of {holder_address} for resource {resource}')
        self._recreate_holder(builder, resource, size)
    else:
        LOG.debug(f'Use account {str(holder_info.owner)} for resource {resource}')