/// <summary>
 /// Initializes a new pool with specified factory method.
 /// </summary>
 /// <param name="factoryMethod">The factory method that will be used to create new objects.</param>
 public ObjectPool(Func <T> factoryMethod) => InitializePool(DefaultPoolMinimumSize, DefaultPoolMaximumSize, factoryMethod);
 /// <summary>
 /// Initializes a new pool with default settings.
 /// </summary>
 public ObjectPool() => InitializePool(DefaultPoolMinimumSize, DefaultPoolMaximumSize, null);