@Override
  public VCPENetworkModel getPhysicalInfrastructureSuggestion() throws VCPENetworkManagerException {

    VCPENetworkModel generated = MPTemplateModelBuilder.generatePhysicalElements();
    VCPENetworkModel suggestion = suggestor.getSuggestionForPhysicalModel(generated);
    return suggestion;
  }
  /**
   * FIXME TO BE REMOVED, part of WORKAROUND
   *
   * @param initialModel model with user preferences. Without physicalInfrastructure elements
   * @return given initialModel merged with suggested physical one.
   */
  private VCPENetworkModel buildModelWithPhyInfrastructureWorkaround(
      VCPENetworkModel initialModelLogical) {
    // Merge initialModelLogical with suggested physical
    VCPENetworkModel phy = MPTemplateModelBuilder.generatePhysicalElements();
    phy = suggestor.getSuggestionForPhysicalModel(phy);

    VCPENetworkModel logical = MPTemplateModelBuilder.generateLogicalElements();
    logical = partialCopy(initialModelLogical, logical);

    VCPENetworkModel logicalWithSuggestedPhysical =
        MPTemplateModelBuilder.mapLogicalAndPhysical(phy, logical);
    return logicalWithSuggestedPhysical;
  }