private void OnChanged(JSchema changedSchema) { if (State != JSchemaState.Default) { return; } try { KnownSchemas.Clear(); State = JSchemaState.Reentrant; Changed?.Invoke(changedSchema); } finally { State = JSchemaState.Default; } }