code: public static IntegerData forValue(long value) {
      if (value > 10 || value < -1) {
        return new IntegerData(value);
      }
      switch ((int) value) {
        case -1:
          return MINUS_ONE;
        case 0:
          return ZERO;
        case 1:
          return ONE;
        case 2:
          return TWO;
        case 3:
          return THREE;
        case 4:
          return FOUR;
        case 5:
          return FIVE;
        case 6:
          return SIX;
        case 7:
          return SEVEN;
        case 8:
          return EIGHT;
        case 9:
          return NINE;
        case 10:
          return TEN;
        default:
          throw new AssertionError("Impossible case");
      }
    }
docs: Gets a IntegerData instance for the given value.
  
  @param value The desired value.
  @return A IntegerData instance with the given value.