code: public static Iterator<ImageWriter> getImageWriters(ImageTypeSpecifier type, String formatName) {
  		if (type == null) {
  			throw new IllegalArgumentException("type == null!");
  		}
  		if (formatName == null) {
  			throw new IllegalArgumentException("formatName == null!");
  		}
  
  		Iterator iter;
  		// Ensure category is present
  		try {
  			iter = theRegistry.getServiceProviders(ImageWriterSpi.class, new CanEncodeImageAndFormatFilter(type, formatName), true);
  		} catch (IllegalArgumentException e) {
  			return new HashSet().iterator();
  		}
  
  		return new ImageWriterIterator(iter);
  	}
docs: Returns an <code>Iterator</code> containing all currently registered <code>ImageWriter</code>s that
  claim to be able to encode images of the given layout (specified using an
  <code>ImageTypeSpecifier</code>) in the given format.
  
  @param type
  an <code>ImageTypeSpecifier</code> indicating the layout of the image to be written.
  @param formatName
  the informal name of the <code>format</code>.
  
  @return an <code>Iterator</code> containing <code>ImageWriter</code>s.
  
  @exception IllegalArgumentException
  if any parameter is <code>null</code>.
  
  @see javax.imageio.spi.ImageWriterSpi#canEncodeImage(ImageTypeSpecifier)