docs: public static <T> Procedure1<T> andThen(final Procedure1<? super T> before, final Procedure1<? super T> after) {
  		if (after == null)
  			throw new NullPointerException("after");
  		if (before == null)
  			throw new NullPointerException("before");
  		return new Procedures.Procedure1<T>() {
  			@Override
  			public void apply(T p) {
  				before.apply(p);
  				after.apply(p);
  			}
  		};
  	}