@Override
    public void mouseDragged(MouseEvent e) {
        int width = e.getXOnScreen()- location.x + 8;
        int height = e.getYOnScreen() - location.y + 8;
        
        Dimension d = new Dimension(width, height);
        Dimension minor = destinationComponent.getMinimumSize();
        if (d.width > minor.width && d.height > minor.height){
            destinationComponent.setSize(width, height);           
        } else if (d.width <= minor.width && d.height > minor.height) {
            destinationComponent.setSize(minor.width, height);           
        } else if (d.width > minor.width && d.height <= minor.height) {
            destinationComponent.setSize(width, minor.height);           
        }
        
        if (destinationComponent instanceof IComponent){
            if (((IComponent)destinationComponent).hasExternalBind()){
                IArchitecture.instance().repaint();
            }
        }        
        destinationComponent.getParent().repaint();
        SwingUtilities.updateComponentTreeUI(destinationComponent);
    }