@Override
  public String retrieveIPfilePath(String id, String dstDir,
      Map<Path, List<String>> localizedResources) {
    // Assume .aocx IP file is distributed by DS to local dir
    String ipFilePath = null;

    LOG.info("Got environment: " + id +
        ", search IP file in localized resources");
    if (null == id || id.isEmpty()) {
      LOG.warn("IP_ID environment is empty, skip downloading");
      return null;
    }

    if (localizedResources != null) {
      Optional<Path> aocxPath = localizedResources
          .keySet()
          .stream()
          .filter(path -> matchesIpid(path, id))
          .findFirst();

      if (aocxPath.isPresent()) {
        ipFilePath = aocxPath.get().toString();
        LOG.info("Found: {}", ipFilePath);
      } else {
        LOG.warn("Requested IP file not found");
      }
    } else {
      LOG.warn("Localized resource is null!");
    }

    return ipFilePath;
  }
@Test
  public void testLocalizedIpfileNotFoundWithNoLocalResources() {
    String path = plugin.retrieveIPfilePath("fpga", "workDir", null);

    assertNull("Retrieved IP file path", path);
  }