public void SetKey <T>(string key) where T : FValue { if (this.key == key) { return; } this.key = key; T f = board.GetData <T>(key); data = (T)f; if (data != null) { data.SetKey(key); this.SetValue(data.GetValue(), false); } }