def METHOD_NAME(
    derivation_client: PyDerivationClient,
    flood_assessment_derivation_iri: str = None,
    flood_warning_iri: str = None,
    affected_building_iris: List[str] = [],
    property_value_iris: List[str] = []
):
    if flood_assessment_derivation_iri is None:
        try:
            # Create async derivation for new info to get flood assessment computed
            input_lst = [flood_warning_iri] + affected_building_iris + property_value_iris
            derivation_iri = derivation_client.createAsyncDerivationForNewInfo(
                agentIRI=FLOOD_ASSESSMENT_AGENT_IRI,
                inputsAndDerivations=input_lst,
            )
            logger.info(f"Created Async derivation for new info: {derivation_iri}, which will be computed shortly")
        except Exception as e:
            logger.error(f"Failed to create async derivation for new info, inputsAndDerivations: {str(input_lst)}")
            raise e
    else:
        # Request for derivation update if the flood warning derivation is already instantiated
        derivation_client.unifiedUpdateDerivation(flood_assessment_derivation_iri)
        logger.info(f"Requested for derivation update: {flood_assessment_derivation_iri}, should be done shortly")