class NetworkAdapterObjectMapper {

    public DeleteNetworkRequest deleteNetworkRequestMapper(RequestContext requestContext, CloudRegion cloudRegion,
            ServiceInstance serviceInstance, L3Network l3Network) {
        DeleteNetworkRequest deleteNetworkRequest = new DeleteNetworkRequest();

        deleteNetworkRequest.setCloudSiteId(cloudRegion.getLcpCloudRegionId());

        String messageId = getRandomUuid();
        deleteNetworkRequest.setMessageId(messageId);

        ModelInfoNetwork modelInfoNetwork = l3Network.getModelInfoNetwork();
        if (modelInfoNetwork != null) {
            deleteNetworkRequest.setModelCustomizationUuid(modelInfoNetwork.getModelCustomizationUUID());
        }

        deleteNetworkRequest.setMsoRequest(createMsoRequest(requestContext, serviceInstance));
        deleteNetworkRequest.setNetworkId(l3Network.getNetworkId());
        if (!StringUtils.isEmpty(l3Network.getHeatStackId())) {
            deleteNetworkRequest.setNetworkStackId(l3Network.getHeatStackId());
        } else {
            deleteNetworkRequest.setNetworkStackId(l3Network.getNetworkName());
        }
        deleteNetworkRequest.setNetworkType(l3Network.getNetworkType());
        deleteNetworkRequest.setSkipAAI(true);
        deleteNetworkRequest.setTenantId(cloudRegion.getTenantId());

        deleteNetworkRequest.setNotificationUrl(createCallbackUrl("NetworkAResponse", messageId));

        return deleteNetworkRequest;
    }

}