public static Configuration Load(ArgumentSet args)
        {
            var isReplayRecord    = args.Get("recordReplay", false);
            var replayPath        = args.Get("replayPath", null);
            var savedReplayRecord =
                ((replayPath != null) && !isReplayRecord) ? new InputRecordConfig(replayPath) : null;
            var randomSeed = args.Get("randomSeed", 0);

            if ((isReplayRecord || (replayPath != null)) && (randomSeed == 0))
            {
                throw new InvalidOperationException("Random seed should be set to record/rewind replay!");
            }
            if (isReplayRecord && (replayPath == null))
            {
                throw new InvalidOperationException("Replay path should be set to record replay!");
            }
            return(new Configuration(isReplayRecord, savedReplayRecord, replayPath, randomSeed, 0.0005));
        }