code: protected DropTarget findAppropriateTarget (Component comp)
      {
          DropTarget target;
          while (comp != null) {
              // here we sneakily prevent dropping on the source
              target = (comp == _sourceComp) ? null : _droppers.get(comp);
              if ((target != null) && comp.isEnabled() &&
                  _source.checkDrop(target) &&
                  target.checkDrop(_source, _data[0])) {
                  return target;
              }
              comp = comp.getParent();
          }
          return null;
      }
docs: Find the lowest accepting parental target to this component.