final Class299 method3706(Class299 class299, Class299 class299_305_,
			      float f, Class299 class299_306_) {
	try {
	    anInt7658++;
	    if (class299 != null && class299_305_ != null
		&& ((OpenGlToolkit) this).aBoolean7863
		&& ((OpenGlToolkit) this).aBoolean7820) {
		Class299_Sub1_Sub2 class299_sub1_sub2 = null;
		Class299_Sub1 class299_sub1 = (Class299_Sub1) class299;
		Class299_Sub1 class299_sub1_307_
		    = (Class299_Sub1) class299_305_;
		Class258_Sub2 class258_sub2
		    = class299_sub1.method2256((byte) -121);
		Class258_Sub2 class258_sub2_308_
		    = class299_sub1_307_.method2256((byte) -121);
		if (class258_sub2 != null && class258_sub2_308_ != null) {
		    int i = ((((Class258_Sub2) class258_sub2_308_).anInt8538
			      >= ((Class258_Sub2) class258_sub2).anInt8538)
			     ? ((Class258_Sub2) class258_sub2_308_).anInt8538
			     : ((Class258_Sub2) class258_sub2).anInt8538);
		    if (class299_306_ != class299
			&& class299_305_ != class299_306_
			&& class299_306_ instanceof Class299_Sub1_Sub2) {
			Class299_Sub1_Sub2 class299_sub1_sub2_309_
			    = (Class299_Sub1_Sub2) class299_306_;
			if (i == class299_sub1_sub2_309_.method2262(65534))
			    class299_sub1_sub2 = class299_sub1_sub2_309_;
		    }
		    if (class299_sub1_sub2 == null)
			class299_sub1_sub2 = new Class299_Sub1_Sub2(this, i);
		    if (class299_sub1_sub2.method2261(class258_sub2, f, 65534,
						      class258_sub2_308_))
			return class299_sub1_sub2;
		}
	    }
	    if (f < 0.5F)
		return class299;
	    return class299_305_;
	} catch (RuntimeException runtimeexception) {
	    throw Class348_Sub17.method2929
		      (runtimeexception,
		       ("qo.SD(" + (class299 != null ? "{...}" : "null") + ','
			+ (class299_305_ != null ? "{...}" : "null") + ',' + f
			+ ',' + (class299_306_ != null ? "{...}" : "null")
			+ ')'));
	}
    }