private static <T> T __check_arg__(java.lang.Class<T> expectedClass, Object argument) {
   T result = null;
   if (java.lang.Integer.class.equals(expectedClass) && argument instanceof Double) {
     result = (T) new java.lang.Integer(((Double) argument).intValue());
   } else if (java.lang.Float.class.equals(expectedClass) && argument instanceof Double) {
     result = (T) new java.lang.Float(((Double) argument).floatValue());
   } else {
     try {
       result = expectedClass.cast(argument);
     } catch (Throwable ex) {
       throw new IllegalArgumentException(
           String.format(
               "Bad parameter type in call to %s. Found '%s' when expected '%s'.",
               "nbActions", argument.getClass().getName(), expectedClass.getName()));
     }
   }
   return result;
 }