private int ImportFlowTemplates([NotNull] ThreatModel source, [NotNull] IThreatModel target)
        {
            int result     = 0;
            var connectors = source.FlowTypes?
                             .Where(x => !x.IsGeneric)
                             .ToArray();

            if (connectors?.Any() ?? false)
            {
                var schemaManager = new ObjectPropertySchemaManager(target);
                var baseSchema    = new BaseFlowPropertySchemaManager(target).GetSchema();

                foreach (var connector in connectors)
                {
                    var template = target.AddFlowTemplate(connector.Name, connector.Description);
                    if (template != null)
                    {
                        result++;

                        InitializeBaseSchema(template, baseSchema);
                        schemaManager.SetObjectId(template, connector.TypeId);
                        var properties = connector.Properties?.ToArray();

                        AddProperties(target, connector.Name, Scope.DataFlow, baseSchema, template, properties);
                    }
                }
            }

            return(result);
        }