public Pin CreateData(Node parent, Direction direction, Type dataType, string name = null, bool isRemovable = false, bool canBeRenamed = false) { var realType = dataType; if (dataType.IsByRef) { realType = dataType.GetElementType(); } var color = realType.IsArray ? _colorProvider.Get(realType.GetElementType()) : _colorProvider.Get(realType); return(new Pin(parent, direction == Direction.Input, false, name, realType, color, isRemovable, canBeRenamed) { DefaultValue = dataType.GetDefaultValue(), }); }