if (fx > d) x = fx*fx*fx; else		x = (fx - 16.0/116.0)*3*d*d; if (fz > d) z = fz*fz*fz; else		z = (fz - 16.0/116.0)*3*d*d;
if (fx > d) x = X_REF*fx*fx*fx/100.0; else		x = (fx - 16.0/116.0)*3*d*d*X_REF/100.0; if (fz > d) z = Z_REF*fz*fz*fz/100.0; else		z = (fz - 16.0/116.0)*3*d*d*Z_REF/100.0;
	public int[] toRgb(Color color) {		double[] comps = color.getComponents();		double x, y, z;		double fy = (comps[0]*100 + 16)/116;		double fx = fy + (comps[1]*1000 - 500)/500;		double fz = fy - (comps[2]*400 - 200)/200;		if (fy > d) y = fy*fy*fy;		else 		y = (fy - 16.0/116.0)*3*d*d;		if (fx > d) x = fx*fx*fx;		else		x = (fx - 16.0/116.0)*3*d*d;		if (fz > d) z = fz*fz*fz;		else		z = (fz - 16.0/116.0)*3*d*d;		return super.toRgb(new Color(x,y,z));	}