Themis/src/main/java/com/shadowcs/nightraven/themis/util/function/Procedure.java
default Procedure andThen(Procedure after) {
		Objects.requireNonNull(after);
		return () -> {
			invoke();
			after.invoke();
		};
	}
/**
	 * Returns a composed {@code Procedure} that performs, in sequence, this operation followed by the {@code after}
	 * operation. If performing either operation throws an exception, it is relayed to the caller of the composed
	 * operation. If performing this operation throws an exception, the {@code after} operation will not be performed.
	 *
	 * @param after the operation to perform after this operation
	 * @return a composed {@code Procedure} that performs in sequence this operation followed by the {@code after}
	 *         operation
	 * @throws NullPointerException if {@code after} is null
	 */
Returns a composed  Procedure that performs, in sequence, this operation followed by the  after
operation. If performing either operation throws an exception, it is relayed to the caller of the composed
operation. If performing this operation throws an exception, the  after operation will not be performed.

@param after the operation to perform after this operation
@return a composed  Procedure that performs in sequence this operation followed by the  after
operation
@throws NullPointerException if  after is null
Returns a composed Procedure that performs in sequence this operation followed by the after operation . If performing either operation throws an exception it is relayed to the caller of the composed operation . If performing this operation throws an exception the after operation will not be performed . @param after the operation to perform after this operation @return a composed Procedure that performs in sequence this operation followed by the after operation @throws NullPointerException if after is null
default Procedure andThen(Procedure after) {
		Objects.requireNonNull(after);
		return () -> {
			invoke();
			after.invoke();
		};
	}
default Procedure andThen ( Procedure after ) { Objects . requireNonNull ( after ) ; return ( ) -> { invoke ( ) ; after . invoke ( ) ; } ; }
Returns a composed {@code Procedure} that performs, in sequence, this operation followed by the {@code after}
 operation.
Returns a composed { @code Procedure } that performs in sequence this operation followed by the { @code after } operation .