Component frameDragger = null;
// if the wrapped source component is a DockingStub, then
// we'll be able to pull some extra data from it
if (dragSrc instanceof DockingStub) {
DockingStub stub = (DockingStub) dragSrc;
Component c = stub.getDragSource();
// if the stub defines a specific drag source, then
// replace wrapped source component with the specified
// drag source
if (c != null)
draggable = c;
// if the stub defines a specified frame drag source, then
// use it
frameDragger = stub.getFrameDragSource();
}
// add the "docking" drag source to the list
if (draggable != null)
dragListeners.add(draggable);