protected IStatus run(IProgressMonitor monitor) {
boolean isUpdated = false;
final DocumentInfo info = docDialog.getDocInfo();
if (source instanceof IDocumentSource) {
final IDocumentSource resourceDocSource = (IDocumentSource) source;
isUpdated = resourceDocSource.update(doc, info, monitor);
} else if (source instanceof IAttachmentSource) {
final IAttachmentSource featureDocSource = (IAttachmentSource) source;
isUpdated = featureDocSource.update(feature, doc, info, monitor);
}
editDocumentCallback(isUpdated);