/// <inheritdoc/> public override int[][] Apply(int[][] graph, int length) { InitialCycles ic = InitialCycles.OfBiconnectedComponent(graph, length); MinimumCycleBasis mcb = new MinimumCycleBasis(ic, true); // As per the old aromaticity detector if the MCB/SSSR is made // of 2 or 3 rings we check all rings for aromaticity - otherwise // we just check the MCB/SSSR if (mcb.Count > 3) { return(mcb.GetPaths()); } else { return(All.Apply(graph, length)); } }