code: public static DynamicDataSet createDynamicDataSet(
              File homeDir,
              int initialCapacity,
              int segmentFileSizeMB,
              SegmentFactory segmentFactory) throws Exception {
          int batchSize = StoreParams.BATCH_SIZE_DEFAULT;
          int numSyncBatches = StoreParams.NUM_SYNC_BATCHES_DEFAULT;
          double hashLoadFactor = StoreParams.HASH_LOAD_FACTOR_DEFAULT;
          double segmentCompactFactor = StoreParams.SEGMENT_COMPACT_FACTOR_DEFAULT;
          
          return createDynamicDataSet(
                  homeDir,
                  initialCapacity,
                  batchSize,
                  numSyncBatches,
                  segmentFileSizeMB,
                  segmentFactory,
                  segmentCompactFactor,
                  hashLoadFactor);
      }
docs: Creates a dynamic {@link krati.store.DataSet DataSet} which grows its capacity as needed.
  The set created has the default parameters below:
  
  <pre>
  batchSize            : 10000
  numSyncBatches       : 10
  segmentCompactFactor : 0.5
  hashLoadFactor       : 0.75
  </pre>
  
  <p>
  It is recommended to have an <code>initialCapacity</code> which is large enough to hold the total number of keys
  eventually added to this set. This can reduce hash conflicts and yield better performance.
  
  @param homeDir              - the set home directory
  @param initialCapacity      - the initial capacity which should not be changed after the set is created
  @param segmentFileSizeMB    - the segment size in MB
  @param segmentFactory       - the segment factory
  @return A dynamic DataSet with growing capacity as needed.
  @throws Exception if the set cannot be created.