@Override
 public int getValueAsInt(int defaultValue) throws IOException, JsonParseException {
   if (_currToken != null) {
     switch (_currToken) {
       case VALUE_NUMBER_INT:
       case VALUE_NUMBER_FLOAT:
         return getIntValue();
       case VALUE_TRUE:
         return 1;
       case VALUE_FALSE:
       case VALUE_NULL:
         return 0;
       case VALUE_STRING:
         return NumberInput.parseAsInt(getText(), defaultValue);
       case VALUE_EMBEDDED_OBJECT:
         {
           Object value = this.getEmbeddedObject();
           if (value instanceof Number) {
             return ((Number) value).intValue();
           }
         }
     }
   }
   return defaultValue;
 }