code: private ResourceMap getChangedResourcesReachableFromOriginalResources(ResourceMap reachable) {
  
          ResourceMap publishRelatedResources = new ResourceMap();
          for (CmsResource res : m_originalResources) {
              Collection<CmsResource> reachableItems = reachable.get(res);
              List<CmsResource> changedItems = Lists.newArrayList();
              for (CmsResource item : reachableItems) {
                  if (!isUnchangedAndShouldBeRemoved(item) && !item.getStructureId().equals(res.getStructureId())) {
                      changedItems.add(item);
                  }
              }
              publishRelatedResources.get(res).addAll(changedItems);
          }
          return publishRelatedResources;
      }
docs: Gets the resources which are reachable from the original set of resources and are not unchanged.<p>
  
  @param reachable the resource map of reachable resources
  @return the resources which are unchanged and reachable from the original set of resources