protected override string[] GetSelection <T>(IEnumerable <T> source,
                                                     Func <T, object> descriptionSelector = null,
                                                     bool writeInline = false,
                                                     bool isOptional  = false)
        {
            var collection = new MultipleIndexCollection <T>(source, descriptionSelector, allowEmpty: isOptional);

            return(collection.GetSelection(_console, writeInline).Select(x => x?.ToString()).ToArray());
        }
 public static TEntity[] GetSelection <TEntity>(this MultipleIndexCollection <TEntity> collection, IConsole console, bool writeInline = false)
 {
     return(collection.GetSelection(console,
                                    writeInline ? CollectionWriteStyle.Inline : CollectionWriteStyle.Rows));
 }