code: public static int resolveCellType(ICellValue c) {
          if (CellValue.BLANK == c) { return CELL_TYPE_BLANK; }
  
          if (c.getType() == Boolean.class) { return CELL_TYPE_BOOLEAN; }
          if (c.getType() == Double.class) { return CELL_TYPE_NUMERIC; }
  
          if (c.getType() == String.class) {
              String val = (String) c.get();
  
              if (val.startsWith(FORMULA_PREFIX)) { return CELL_TYPE_FORMULA; }
              if (isErrorValue(val)) { return CELL_TYPE_ERROR; }
              return CELL_TYPE_STRING;
          }
  
          throw new CalculationEngineException(String.format("CellVale's type %s is not supported.", c.get().getClass().getSimpleName()));
      }
docs: Returns a type of given {@link ICellValue} value.
  For types @see {@link Cell#getCellType()}.