final RasterToolkit method1596(int i, boolean bool, int i_18_, AbstractToolkit var_ha) {
	anInt2857++;
	if (i_18_ < 51)
	    aClass114_2860 = null;
	long l = (long) (((AbstractToolkit) var_ha).id << -1253962829
			 | (((Class218) this).anInt2853 | i << -1966608624
			    | (!bool ? 0 : 262144)));
	RasterToolkit class105
	    = (RasterToolkit) ((Class141) ((Class218) this).aClass141_2851)
			     .aClass60_1976.method583(l, -87);
	if (class105 != null)
	    return class105;
	if (!((Class141) ((Class218) this).aClass141_2851).aClass45_1965
		 .getArchiveLoaded(((Class218) this).anInt2853))
	    return null;
	ImageSprite class207
	    = ImageSprite.getSprite(((Class141) (((Class218) this)
					       .aClass141_2851)).aClass45_1965,
				  ((Class218) this).anInt2853, 0);
	if (class207 != null) {
	    ((ImageSprite) class207).heightPadding
		= ((ImageSprite) class207).widthOffset
		= ((ImageSprite) class207).widthPadding
		= ((ImageSprite) class207).heightOffset = 0;
	    if (bool)
		class207.reflectX();
	    for (int i_19_ = 0; i_19_ < i; i_19_++)
		class207.rotateCw90();
	}
	class105 = var_ha.createRasterForSprite(class207, true);
	if (class105 != null)
	    ((Class141) ((Class218) this).aClass141_2851).aClass60_1976
		.method582(class105, l, (byte) -101);
	return class105;
    }