src/main/java/org/gm4java/im4java/GMOperation.java
public GMOperation source(final File file, @CheckForNull final Integer width, @CheckForNull final Integer height)
            throws IOException {
        if (file != null && !file.exists()) {
            throw new IOException("Source file '" + file + "' does not exist");
        }
        if ((width != null) && (height != null) && (width > 0) && (height > 0)) {
            size(width, height);
        }
        return addImage(file);
    }
public GMOperation source(final File file, @CheckForNull final Integer width, @CheckForNull final Integer height)
            throws IOException {
        if (file != null && !file.exists()) {
            throw new IOException("Source file '" + file + "' does not exist");
        }
        if ((width != null) && (height != null) && (width > 0) && (height > 0)) {
            size(width, height);
        }
        return addImage(file);
    }
Specifies the source image to convert.

@param file
Source image file to convert.
@param width
Length in pixels of the source image's width; if {@code null} or negative, the in-memory size
definition is omitted. Optional.
@param height
Length in pixels of the source image's height; if {@code null} or negative, the in-memory size
definition is omitted. Optional.
@return Builder object for chained options setup.
@throws IOException
when the source file does not exist.