code: private int getNewColor(int i)
    {
      int r = (((i) * 224) % 255);
      int g = (((i + 197) * 1034345) % 255);
      int b = (((i + 23) * 74353) % 255);
  
      //  too dark or too bright?
      if (((r + b + g) / 3) < 100)
      {
        r = 255 - r;
        g = 255 - g;
        b = 255 - b;
      }
      else if (((r + b + g) / 3) > 192)
      {
        r = 1 * (r / 2);
        g = 1 * (g / 2);
        b = 1 * (b / 2);
      }
  
      if (r == 255 && g == 255 && b == 255)
      {
        r = 255;
        g = 255;
        b = 0;
      }
  
      return (r * 65536 + g * 256 + b);
    }
docs: Returns a unique color-value for a given number
  @param i identifer of an unique color
  @return color-value