default Alterer<G, C> compose(final Alterer<G, C> before) {
		return of(requireNonNull(before), this);
	}
Returns a composed alterer that first applies the {@code before} alterer
to its input, and then applies {@code this} alterer to the result.

@param before the alterer to apply first
@return the new composed alterer
jenetics/src/main/java/io/jenetics/Alterer.java