public static Double transmittance(Double transmittance, Double molarAbsorbtivity, Double cuvetteWidth, Double concentration)
	{
		boolean[] nulls = new boolean[4];
		nulls[0] = (transmittance == null);
		nulls[1] = (molarAbsorbtivity == null);
		nulls[2] = (cuvetteWidth == null);
		nulls[3] = (concentration == null);
		
		int nullCount = 0;
		for(int k = 0; k < nulls.length; k++)
		{
			if(nulls[k])
				nullCount++;
		}
		
		if(nullCount != 1)
			return null;
		
		double result = 0;
		
		if(nulls[0])
		{
			// transmittance is unknown
			result = 1/(pow(10,(molarAbsorbtivity*cuvetteWidth*concentration)));
		}
		else if(nulls[1])
		{
			// molarAbsorbtivity is unknown
			result = log10(1/transmittance)/(cuvetteWidth*concentration);
		}
		else if(nulls[2])
		{
			// cuvetteWidth is unknown
			result = log10(1/transmittance)/(molarAbsorbtivity*concentration);
		}
		else if(nulls[3])
		{
			// concentration is unknown
			result = log10(1/transmittance)/(molarAbsorbtivity*cuvetteWidth);
		}
		
		return result;
	}