return read(new MemoryCacheImageInputStream(input));
Iterator providers = getRegistry().getServiceProviders(ImageReaderSpi.class, true); while (providers.hasNext()) { ImageReaderSpi spi = (ImageReaderSpi) providers.next(); if (spi.canDecodeInput(stream)) { ImageReader reader = spi.createReaderInstance(); reader.setInput(stream); return reader.read(0, null); } } return null;
  public static BufferedImage read(InputStream input)    throws IOException  {    return read(new MemoryCacheImageInputStream(input));  }