docs: protected Optional<BufferedImage> getIcon(@NonNull String iconPath)
  	{
  		Optional<BufferedImage> optional = Optional.empty();
  		try
  		{
  			BufferedImage bufferedImage = ImageIO
  				.read(ClassExtensions.getResourceAsStream(iconPath));
  			optional = Optional.of(bufferedImage);
  		}
  		catch (IOException e)
  		{
  			String title = e.getLocalizedMessage();
  			String htmlMessage = "<html><body width='650'>" + "<h2>" + title + "</h2>" + "<p>"
  				+ e.getMessage();
  			JOptionPane.showMessageDialog(this, htmlMessage, title, JOptionPane.ERROR_MESSAGE);
  			log.log(Level.SEVERE, e.getMessage(), e);
  		}
  		return optional;
  	}