code: @Pure
  	public static <P1, P2, P3, P4, P5> Procedure4<P2, P3, P4, P5> curry(final Procedure5<? super P1, ? super P2, ? super P3, ? super P4, ? super P5> procedure,
  			final P1 argument) {
  		if (procedure == null)
  			throw new NullPointerException("procedure");
  		return new Procedure4<P2, P3, P4, P5>() {
  			@Override
  			public void apply(P2 p2, P3 p3, P4 p4, P5 p5) {
  				procedure.apply(argument, p2, p3, p4, p5);
  			}
  		};
  	}
docs: Curries a procedure that takes five arguments.
  
  @param procedure
  the original procedure. May not be <code>null</code>.
  @param argument
  the fixed first argument of {@code procedure}.
  @return a procedure that takes four arguments. Never <code>null</code>.