public double Calculate(Chain chain, Link link) { alphabetCardinality = chain.Alphabet.Cardinality; double result = 0; for (int i = 0; i < alphabetCardinality; i++) { result += Calculate(chain.CongenericChain(i), link); } return result; }