class BBInputSetup implements JavaDelegate {

    protected void populateObjectsOnAssignAndCreateFlows(BBInputSetupParameter parameter) throws Exception {
        parameter.setModelInfo(parameter.getRequestDetails().getModelInfo());
        parameter.setInstanceName(parameter.getRequestDetails().getRequestInfo().getInstanceName());
        parameter.setProductFamilyId(parameter.getRequestDetails().getRequestInfo().getProductFamilyId());
        ModelType modelType = parameter.getModelInfo().getModelType();
        parameter.setRelatedInstanceList(parameter.getRequestDetails().getRelatedInstanceList());

        parameter.setPlatform(parameter.getRequestDetails().getPlatform());
        parameter.setLineOfBusiness(parameter.getRequestDetails().getLineOfBusiness());
        String applicationId = "";
        if (parameter.getRequestDetails().getRequestInfo().getApplicationId() != null) {
            applicationId = parameter.getRequestDetails().getRequestInfo().getApplicationId();
            parameter.setApplicationId(applicationId);
        }

        if (modelType.equals(ModelType.network)) {
            parameter.getLookupKeyMap().put(ResourceKey.NETWORK_ID, parameter.getResourceId());
            this.populateL3Network(parameter);
        } else if (modelType.equals(ModelType.vnf)) {
            parameter.getLookupKeyMap().put(ResourceKey.GENERIC_VNF_ID, parameter.getResourceId());
            this.populateGenericVnf(parameter);
        } else if (modelType.equals(ModelType.volumeGroup) || (modelType.equals(ModelType.vfModule)
                && (parameter.getBbName().equalsIgnoreCase(AssignFlows.VOLUME_GROUP.toString())
                        || parameter.getBbName().startsWith(CREATEVOLUME)))) {
            parameter.getLookupKeyMap().put(ResourceKey.VOLUME_GROUP_ID, parameter.getResourceId());
            this.populateVolumeGroup(parameter);
        } else if (modelType.equals(ModelType.vfModule)) {
            if (parameter.getBbName().contains("Configuration")) {
                parameter.setResourceId(parameter.getLookupKeyMap().get(ResourceKey.CONFIGURATION_ID));
                parameter.getModelInfo().setModelCustomizationUuid(parameter.getConfigurationKey());
                populateConfiguration(parameter);
            } else {
                parameter.getLookupKeyMap().put(ResourceKey.VF_MODULE_ID, parameter.getResourceId());
                parameter.setCloudConfiguration(parameter.getRequestDetails().getCloudConfiguration());
                this.populateVfModule(parameter);
            }
        } else if (modelType.equals(ModelType.instanceGroup)) {
            parameter.getLookupKeyMap().put(ResourceKey.INSTANCE_GROUP_ID, parameter.getResourceId());
            this.populateInstanceGroup(parameter);
        } else {
            return;
        }
    }

}