* @throws IOException for any error
*/
protected boolean hasStructureBeenModifed(VirtualFile root, ContextInfo contextInfo) throws IOException
{
String path = contextInfo.getPath();
VirtualFile contextRoot = root.getChild(path);
if (contextRoot != null)
{
List<String> metadataPaths = contextInfo.getMetaDataPath();
if (metadataPaths != null && metadataPaths.isEmpty() == false)
{
for (String metaDataPath : metadataPaths)
{
VirtualFile mdpVF = contextRoot.getChild(metaDataPath);
if (mdpVF != null)
{
List<VirtualFile> children = mdpVF.getChildren(filter);
String mdpPathName = mdpVF.getPathName();
Set<String> leaves = getCache().getLeaves(mdpPathName);
// do we have some new files or some were deleted
if (leaves != null && children != null && leaves.size() != children.size())
{
if (log.isTraceEnabled())