/// <summary>
 /// 
 /// </summary>
 /// <param name="executingAllele">The IGEPAllele that is executing the IFunction.</param>
 /// <param name="availableRegistries">The IRegistries that are readable and writable by the executing IFunction.</param>
 /// <param name="callableGenes">The IGEPGenes that can be called by the executing IGene.</param>
 /// <param name="geneExecutionDataDictionary">The IGeneExecutionData for each IGEPGene in the parent IGEPOrganism.</param>
 protected FunctionExecutionDataBase(IGEPAllele executingAllele, IRegistryCollection availableRegistries,
     IList<IGEPGene> callableGenes, IDictionary<IGeneIdentifier, IGeneExecutionData> geneExecutionDataDictionary)
 {
     this.ExecutingAllele = executingAllele;
     this.AvailableRegistries = availableRegistries;
     this.CallableGenes = callableGenes;
     this.GeneExecutionDataDictionary = geneExecutionDataDictionary;
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="executingAllele">The IGEPAllele that is executing the IFunction.</param>
 /// <param name="availableRegistries">The IRegistries that are readable and writable by the executing IFunction.</param>
 /// <param name="callableGenes">The IGEPGenes that can be called by the executing IGene.</param>
 /// <param name="geneExecutionDataDictionary">The IGeneExecutionData for each IGEPGene in the parent IGEPOrganism.</param>
 public FunctionExecutionData(IGEPAllele executingAllele, 
     IRegistryCollection availableRegistries, IList<IGEPGene> callableGenes, 
     IDictionary<IGeneIdentifier, IGeneExecutionData> geneExecutionDataDictionary) : base(executingAllele, availableRegistries, callableGenes, geneExecutionDataDictionary)
 {
 }