protected int widestDim(double[][] nodeRanges, double[][] universe) {
    final int classIdx = m_Instances.classIndex();
    double widest = 0.0;
    int w = -1;
    if (m_NormalizeDimWidths) {
	for (int i = 0; i < nodeRanges.length; i++) {
	  double newWidest = nodeRanges[i][m_DistanceFunction.R_WIDTH] / 
	  		     universe[i][m_DistanceFunction.R_WIDTH];
	  if (newWidest > widest) {
	    if(i == classIdx) continue;
	    widest = newWidest;
	    w = i;
	  }
	}
    }
    else {
	for (int i = 0; i < nodeRanges.length; i++) {
	  if (nodeRanges[i][m_DistanceFunction.R_WIDTH] > widest) {
	    if(i == classIdx) continue;
	    widest = nodeRanges[i][m_DistanceFunction.R_WIDTH];
	    w = i;
	  }
	}
    }
    return w;
  }