code: public static Img createRemoteImg(BufferedImage bimg){
  		int type = bimg.getRaster().getDataBuffer().getDataType();
  		if(type != DataBuffer.TYPE_INT){
  			throw new IllegalArgumentException(
  					String.format("cannot create Img as remote of provided BufferedImage!%n"
  							+ "Need BufferedImage with DataBuffer of type TYPE_INT (%d). Provided type: %d",
  							DataBuffer.TYPE_INT, type));
  		}
  		Img img = new Img(
  				new Dimension(bimg.getWidth(),bimg.getHeight()),
  				((DataBufferInt)bimg.getRaster().getDataBuffer()).getData()
  			);
  		return img;
  	}
docs: Creates an Img sharing the specified BufferedImage's data. Changes in
  the BufferdImage are reflected in the created Img and vice versa.
  <p>
  Only BufferedImages with DataBuffer of {@link DataBuffer#TYPE_INT} can
  be used since the Img class uses an int[] to store its data. An
  IllegalArgumentException will be thrown if a BufferedImage with a
  different DataBufferType is provided.
  @param bimg BufferedImage with TYPE_INT DataBuffer.
  @return Img sharing the BufferedImages data.
  @throws IllegalArgumentException if a BufferedImage with a DataBufferType
  other than {@link DataBuffer#TYPE_INT} is provided.
  @see #getRemoteBufferedImage()
  @see #Img(BufferedImage)
  @since 1.0