// compute design folder name 
      String[] pathElements = state.getPath().split("/");
      if (pathElements != null && pathElements.length > 0) {
        String designFolderName = pathElements[0];
        // check if this design is internal or external
        IFolder designFolder = _runtime.getDesignRoot().getFolder(new Path(designFolderName));
        if (WGADesignStructureHelper.isDirlinkFolder(designFolder)) {
          // this is an external design
          IContainer linkTarget = WGADesignStructureHelper.resolveDirLink(designFolder.getFile(WGUtils.DIRLINK_FILE));
          path = linkTarget.getFullPath().append(new Path(state.getPath()).removeFirstSegments(1));
        } else {
          path = _runtime.getDesignRoot().getFullPath().append(new Path(state.getPath()));    
        }
      } else {
        path = _runtime.getDesignRoot().getFullPath().append(new Path(state.getPath()));
      }      
    }
    
    IResource resource = null;
    if (state.getType() == FSDesignResourceState.TYPE_FOLDER) {