public StumpsServerInstance(IServerFactory serverFactory, string serverId, IDataAccess dataAccess)
{
if (serverFactory == null)
{
throw new ArgumentNullException("serverFactory");
}
_serverFactory = serverFactory;
this.ServerId = serverId;
_lock = new ReaderWriterLockSlim(LockRecursionPolicy.NoRecursion);
_dataAccess = dataAccess;
// Setup the objects needed to keep track of Stumps.
_stumpList = new List<StumpContract>();
_stumpReference = new Dictionary<string, StumpContract>(StringComparer.OrdinalIgnoreCase);
// Setup the recordings maintained by the server instance.
this.Recordings = new Recordings();
// Initialize the server
InitializeServer();
// Initialize the Stumps
InitializeStumps();
}