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); }