private boolean isVirtualNodeAlreadyAdded(int sourceId) {

    List<NetworkElement> virtualDevices =
        NetworkModelHelper.getNetworkElementsByClassName(
            VirtualDevice.class, mappingNetworkResult.getNetworkElements());

    for (NetworkElement device : virtualDevices)
      if (device.getName().equals(String.valueOf(sourceId))) return true;

    return false;
  }
  /**
   * This method looks if there's a virtual device implemented by the physical device with the param
   * name in model. If so, the name of this virtual device is returned. If not, the "size" index is
   * returned in order to add a new virtual device with this name to the virtual devices list.
   *
   * @param phyNodeId
   * @return
   */
  private int getVirtualDeviceIdByPhysicalId(int phyNodeId) {

    List<NetworkElement> vDevices =
        NetworkModelHelper.getNetworkElementsByClassName(
            VirtualDevice.class, mappingNetworkResult.getNetworkElements());

    String phyNodeName = this.inpNetwork.getNodes().get(phyNodeId).getPnodeID();

    for (NetworkElement vDevice : vDevices) {
      if (((VirtualDevice) vDevice).getImplementedBy().equals(phyNodeName))
        return Integer.valueOf(vDevice.getName());
    }

    return Integer.valueOf(vDevices.size());
  }