@SuppressWarnings("unchecked")
    default T call(Consumer<T> procedure) {
		procedure.accept((T) this);
		return (T) this;
	}
Calls the specified {@link Consumer} with this object as the parameter.
This method exists so that methods can operate on an object without
breaking the flow.

@param procedure  the procedure to call
@return           a reference to this
common-parent/codegen/src/main/java/com/speedment/common/codegen/model/trait/HasCall.java