protected virtual void Dispose(bool disposing)
        {
            if (!_disposedValue)
            {
                if (disposing)
                {
                    _allDevices        = null;
                    _allLocations      = null;
                    _allRooms          = null;
                    _allScenes         = null;
                    _allRules          = null;
                    _allSchedules      = null;
                    _allApps           = null;
                    _allSubscriptions  = null;
                    _allInstalledApps  = null;
                    _allDeviceProfiles = null;

                    _devicesApi        = null;
                    _locationsApi      = null;
                    _roomsApi          = null;
                    _scenesApi         = null;
                    _rulesApi          = null;
                    _schedulesApi      = null;
                    _appsApi           = null;
                    _subscriptionsApi  = null;
                    _installedAppsApi  = null;
                    _deviceProfilesApi = null;
                }
                _disposedValue = true;
            }
        }
        public SmartThingsClient(string accessToken)
        {
            var configuration = new Configuration();

            configuration.AccessToken = accessToken ?? throw new ArgumentNullException(accessToken);
            _accessToken = accessToken;

            _devicesApi        = new DevicesApi(configuration);
            _locationsApi      = new LocationsApi(configuration);
            _roomsApi          = new RoomsApi(configuration);
            _scenesApi         = new ScenesApi(configuration);
            _rulesApi          = new RulesApi(configuration);
            _schedulesApi      = new SchedulesApi(configuration);
            _appsApi           = new AppsApi(configuration);
            _subscriptionsApi  = new SubscriptionsApi(configuration);
            _installedAppsApi  = new InstalledappsApi(configuration);
            _deviceProfilesApi = new ProfilesApi(configuration);
            _capabilitiesApi   = new CapabilitiesApi(configuration);
            _presentationApi   = new PresentationsApi(configuration);

            //_accessToken = accessToken;
            //_devicesApi = new DevicesApi();
            //_locationsApi = new LocationsApi();
            //_roomsApi = new RoomsApi();
            //_scenesApi = new ScenesApi();
            //_rulesApi = new RulesApi();
            //_schedulesApi = new SchedulesApi();
            //_appsApi = new AppsApi();
            //_subscriptionsApi = new SubscriptionsApi();
            //_installedAppsApi = new InstalledappsApi();
            //_deviceProfilesApi = new ProfilesApi();
            //_capabilitiesApi = new CapabilitiesApi();
            //_presentationApi = new PresentationsApi();
        }