protected virtual TypeScriptTypeDefintion CreateComplexTypeScriptDefinition(ITypeGenerator typeGenerator)
        {
            var result = new TypeScriptTypeDefintion();

            result.Members.AddRange(Type.GetProperties(BindingFlags.Instance | BindingFlags.Public)
                                    .Select(x => typeGenerator.ResolveProperty(Unit, Type, x))
                                    .Where(x => x != null));
            return(result);
        }