public IExplorerObject CreateExplorerObject(IExplorerObject parentExObject)
        {
            if (!CanCreate(parentExObject))
            {
                return(null);
            }

            FormNewDataset dlg = new FormNewDataset();

            dlg.IndexTypeIsEditable = false;
            if (dlg.ShowDialog() != DialogResult.OK)
            {
                return(null);
            }

            AccessFDB fdb = new AccessFDB();

            fdb.Open(parentExObject.FullName);
            int dsID = -1;

            string datasetName = dlg.DatasetName;

            switch (dlg.DatasetType)
            {
            case FormNewDataset.datasetType.FeatureDataset:
                dsID = fdb.CreateDataset(datasetName, dlg.SpatialReferene);
                break;

            case FormNewDataset.datasetType.ImageDataset:
                dsID        = fdb.CreateImageDataset(datasetName, dlg.SpatialReferene, null, dlg.ImageSpace, dlg.AdditionalFields);
                datasetName = "#" + datasetName;
                break;
            }

            if (dsID == -1)
            {
                MessageBox.Show(fdb.lastErrorMsg, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(null);
            }

            return(new AccessFDBDatasetExplorerObject(parentExObject, parentExObject.FullName, datasetName));
        }