code: private void clearParentsCache(Entity entity) {
  		try {
  			String xpath = null;
  			if (entity instanceof DataSource) {
  				// find all reports and charts with this DataSource
  				xpath = "//nextServer//*[@dataSource='" + entity.getId() + "']";
  			} else if (entity instanceof Report) {
  				// find all schedulers with this report
  				xpath = "//nextServer/scheduler/*[@report='" + entity.getId() + "']";
  			}
  			if (xpath != null) {
  				NodeIterator nodes = getTemplate().query(xpath).getNodes();
  				while (nodes.hasNext()) {
  					entitiesCache.remove(nodes.nextNode().getIdentifier());
  				}
  			}
  			// if entity is inside a drill down we have to clear the master
  			// report (with drillDown list)
  			// first parent is 'drillDownEntities' node; second parent is the
  			// actual report/chart
  			if ((entity instanceof Report) || (entity instanceof Chart)) {
  				xpath = " //nextServer//drillDownEntities/*[@entity='" + entity.getId() + "']";
  				if (xpath != null) {
  					NodeIterator nodes = getTemplate().query(xpath).getNodes();
  					while (nodes.hasNext()) {
  						entitiesCache.remove(nodes.nextNode().getParent().getParent().getIdentifier());
  					}
  				}
  			}
  		} catch (RepositoryException e) {
  			throw convertJcrAccessException(e);
  		}
  	}
docs: clear all parents from cache