// Since some parent properties maybe stored in child properties
        // as parent: property, any property change should be propagated
        // to all its children as well.
        private ArrayList GetChildPropertyChange(Hashtable children_docs,
                                                 Indexable parent)
        {
            // FIXME FIXME FIXME: Post-Child-Indexable-Fix
            if (children_docs == null)
            {
                return(null);
            }

            Uri       parent_uri           = parent.Uri;
            ArrayList child_indexable_list = new ArrayList();

            foreach (Uri uri in children_docs.Keys)
            {
                // FIXME: Currently, children_docs has both the parent and children docs
                if (UriFu.Equals(uri, parent_uri))
                {
                    continue;
                }

                Indexable child_indexable;
                child_indexable = new Indexable(IndexableType.PropertyChange, uri);
                Log.Debug("Creating property change child indexable for {1} (parent {0})", parent.Uri, uri);

                // This is where the child_indexables will have new properties from parent
                child_indexable.SetChildOf(parent);
                child_indexable_list.Add(child_indexable);
            }

            return(child_indexable_list);
        }