if (!drag.isShift()) {
getPerspective().addToObjects(source.getObject());
}
}
View newView;
if (source.getSpecification().isService()) {
return;
} else {
final Location dropLocation = drag.getTargetLocation();
dropLocation.subtract(drag.getOffset());
if (drag.isShift()) {
newView = Toolkit.getViewFactory().createView(new ViewRequirement(getContent(), ViewRequirement.OPEN | ViewRequirement.SUBVIEW));
drag.getTargetView().addView(newView);
newView.setLocation(dropLocation);
} else {
// place object onto desktop as icon
final View sourceView = drag.getSource();
if (!sourceView.getSpecification().isOpen()) {
final View[] subviews = getSubviews();
for (final View subview : subviews) {
if (subview == sourceView) {
sourceView.markDamaged();
sourceView.setLocation(dropLocation);
sourceView.markDamaged();
return;
}
}
} else {
for (final View view : iconViews) {