code: public static <T> Map<T,T> applyAlignment(Map<T, T> alignmentMap, int k) {
  		return applyAlignment(alignmentMap, new IdentityMap<T>(), k);
  	}
docs: Applies an alignment k times. Eg if alignmentMap defines function f(x),
  this returns a function f^k(x)=f(f(...f(x)...)).
  
  @param <T>
  @param alignmentMap The input function, as a map (see {@link AlignmentTools#alignmentAsMap(AFPChain)})
  @param k The number of times to apply the alignment
  @return A new alignment. If the input function is not automorphic
  (one-to-one), then some inputs may map to null, indicating that the
  function is undefined for that input.