code: private int filterNondominatedSet(double[][] front, int noPoints, int noObjectives) {
      int i, j;
      int n;
  
      n = noPoints;
      i = 0;
      while (i < n) {
        j = i + 1;
        while (j < n) {
          if (dominates(front[i], front[j], noObjectives)) {
    /* remove point 'j' */
            n--;
            swap(front, j, n);
          } else if (dominates(front[j], front[i], noObjectives)) {
  	/* remove point 'i'; ensure that the point copied to index 'i'
  	   is considered in the next outer loop (thus, decrement i) */
            n--;
            swap(front, i, n);
            i--;
            break;
          } else {
            j++;
          }
        }
        i++;
      }
      return n;
    }
docs: /* all nondominated points regarding the first 'noObjectives' dimensions
  are collected; the points referenced by 'front[0..noPoints-1]' are
  considered; 'front' is resorted, such that 'front[0..n-1]' contains
  the nondominated points; n is returned