protected virtual object OnRequiredPropertyNotFound(string name) {
// Derivied classes can override this to return a value for a required property that is missing
// Here we treat this as an error though
throw new ConfigurationErrorsException(SR.GetString(SR.Config_base_required_attribute_missing, name),
PropertyFileName(name),
PropertyLineNumber(name));
}
protected virtual void PostDeserialize() {