return IS_STRING;
return IS_LONG;
  protected int getNumericType()  {    char []buffer = _buffer;    int len = _length;    if (len == 0)      return IS_STRING;    int i = 0;    int ch = 0;    boolean hasPoint = false;    if (i < len && ((ch = buffer[i]) == '+' || ch == '-')) {      i++;    }    if (len <= i)      return IS_STRING;    ch = buffer[i];    if (ch == '.') {      for (i++; i < len && '0' <= (ch = buffer[i]) && ch <= '9'; i++) {        return IS_DOUBLE;      }      return IS_STRING;    }    else if (! ('0' <= ch && ch <= '9'))      return IS_STRING;    for (; i < len && '0' <= (ch = buffer[i]) && ch <= '9'; i++) {    }    if (len <= i)      return IS_LONG;    else if (ch == '.' || ch == 'e' || ch == 'E') {      for (i++;           i < len && ('0' <= (ch = buffer[i]) && ch <= '9' ||                       ch == '+' || ch == '-' || ch == 'e' || ch == 'E');           i++) {      }      if (i < len)        return IS_STRING;      else        return IS_DOUBLE;    }    else      return IS_STRING;  }