public bool Equals(IMetricsValueIdentifier other)
 {
     if (other == null)
         return false;
     else if (other is MetricsValueIdentifier)
         return this.Identifier == ((MetricsValueIdentifier)other).Identifier;
     else
         return false;
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="metricValueIdentifier">The Metric Value of interest.</param>
 /// <param name="value">The value that the IMetricsValue must reach in order for
 /// the end criteria to have been met.</param>
 public EndAfterMetricValueMetEvaluator(IMetricsValueIdentifier metricValueIdentifier, double value)
 {
     this.MetricValueIdentifier = metricValueIdentifier;
     this.Value = value;
 }
 /// <summary>
 /// Gets the IComparer used to compare two IOrganisms with the IMetricsValue as specified by the given IMetricsValueIdentifier.
 /// </summary>
 /// <param name="metricsValueIdentifier"></param>
 /// <returns></returns>
 public IComparer<IOrganism> GetComparerForIMetricsValue(IMetricsValueIdentifier metricsValueIdentifier)
 {
     return this.MetricsValueComparers[metricsValueIdentifier];
 }