private IOrganizationMetadata LoadMetadataInternal()
        {
            IOrganizationMetadata metadata;

            if (!File.Exists(RootPath(FilePath)) || !ReadSerializedMetadata)
            {
                metadata = DefaultService.LoadMetadata();

                if (SerializeMetadata)
                {
                    SerializeMetadataToFile(metadata, FilePath);
                }
            }
            else
            {
                metadata = DeserializeMetadata(FilePath);
            }

            return(metadata);
        }
        protected virtual IOrganizationMetadata LoadMetadataInternal()
        {
            IOrganizationMetadata metadata;

            if (ConfigHelper.GetAppSettingOrDefault("ReadSerializedMetadata", false))
            {
                metadata = DeserializeMetadata(FilePath);
            }
            else
            {
                metadata = DefaultService.LoadMetadata();

                if (ConfigHelper.GetAppSettingOrDefault("SerializeMetadata", false))
                {
                    SerializeMetadata(metadata, FilePath);
                }
            }

            return(metadata);
        }