code: @ArgumentsChecked
  	@Throws({ IllegalNullArgumentException.class, IllegalEmptyArgumentException.class })
  	public static <T> T notEmpty(@Nonnull final T reference, final boolean expression, @Nullable final String name) {
  		notNull(reference, name);
  		if (expression) {
  			throw new IllegalEmptyArgumentException(name);
  		}
  		return reference;
  	}
docs: Ensures that an object reference passed as a parameter to the calling method is not empty. The passed boolean
  value is the result of checking whether the reference is empty or not.
  
  <p>
  The following example describes how to use it.
  
  <pre>
  &#064;ArgumentsChecked
  public setText(String text) {
  Check.notEmpty(text, text.isEmpty(), &quot;text&quot;);
  this.text = text;
  }
  </pre>
  
  @param reference
  an object reference which should not be empty
  @param expression
  the result of the expression to verify the emptiness of a reference ({@code true} means empty,
  {@code false} means not empty)
  @param name
  name of object reference (in source code)
  @return the passed reference that is not empty
  @throws IllegalNullArgumentException
  if the given argument {@code reference} is {@code null}
  @throws IllegalEmptyArgumentException
  if the given argument {@code reference} is empty