private InputStream openInputStream(@NonNull final String filePath, final String mimeType, final int mbrSize, final int types)
			throws IOException {
		final InputStream is = new FileInputStream(filePath);
		if (MIME_TYPE_ZIP.equals(mimeType))
			return new ArchiveInputStream(is, mbrSize, types);
		if (filePath.toLowerCase(Locale.US).endsWith("hex"))
			return new HexInputStream(is, mbrSize);
		return is;
	}
private InputStream openInputStream ( @ NonNull final String filePath , final String mimeType , final int mbrSize , final int types ) throws IOException { final InputStream is = new FileInputStream ( filePath ) ; if ( MIME_TYPE_ZIP . equals ( mimeType ) ) return new ArchiveInputStream ( is , mbrSize , types ) ; if ( filePath . toLowerCase ( Locale . US ) . endsWith ( "hex" ) ) return new HexInputStream ( is , mbrSize ) ; return is ; }
Opens the binary input stream that returns the firmware image content.
A Path to the file is given.

@param filePath the path to the HEX, BIN or ZIP file.
@param mimeType the file type.
@param mbrSize  the size of MBR, by default 0x1000.
@param types    the content files types in ZIP.
@return The input stream with binary image content.