public override DragAndDropVisualMode DoDrag(TreeViewItem parentItem, TreeViewItem targetItem, bool perform, TreeViewDragging.DropPosition dropPos)
{
FooDragData genericData = DragAndDrop.GetGenericData("FooDragging") as FooDragData;
TreeViewTest.FooTreeViewItem item = targetItem as TreeViewTest.FooTreeViewItem;
TreeViewTest.FooTreeViewItem item2 = parentItem as TreeViewTest.FooTreeViewItem;
if ((item2 == null) || (genericData == null))
{
return DragAndDropVisualMode.None;
}
bool flag = this.ValidDrag(parentItem, genericData.m_DraggedItems);
if (perform && flag)
{
if (<>f__am$cache1 == null)
{
<>f__am$cache1 = x => x is TreeViewTest.FooTreeViewItem;