private static ReflectedTypeData GetTypeData(Type type, bool createIfNeeded) { ReflectedTypeData td; lock (_internalSyncObject) { if (!TypeData.TryGetValue(type, out td) && createIfNeeded) { td = new ReflectedTypeData(type); TypeData.Add(type, td); } } return(td); }