code: public Format decideTextureFormat(Format fmt) {
          switch (colorType) {
          case COLOR_TRUECOLOR:
          	if ((fmt == ABGR) || (fmt == RGBA) || (fmt == BGRA) || (fmt == RGB)) {
          		return fmt;
          	}
              
          	return RGB;
          case COLOR_TRUEALPHA:
          	if ((fmt == ABGR) || (fmt == RGBA) || (fmt == BGRA) || (fmt == RGB)) {
          		return fmt;
          	}
              
          	return RGBA;
          case COLOR_GREYSCALE:
          	if ((fmt == LUMINANCE) || (fmt == ALPHA)) {
          		return fmt;
          	}
              
          	return LUMINANCE;
          case COLOR_GREYALPHA:
              return LUMINANCE_ALPHA;
          case COLOR_INDEXED:
          	if ((fmt == ABGR) || (fmt == RGBA) || (fmt == BGRA)) {
          		return fmt;
          	}
          	
          	return RGBA;
          default:
              throw new UnsupportedOperationException("Not yet implemented");
          }
      }
docs: Computes the implemented format conversion for the desired format.
  
  @param fmt the desired format
  @return format which best matches the desired format
  @throws UnsupportedOperationException if this PNG file can't be decoded