code: @Nullable
    public static Object getCellValueObject (@Nullable final Cell aCell)
    {
      if (aCell == null)
        return null;
  
      final CellType eCellType = aCell.getCellType ();
      switch (eCellType)
      {
        case NUMERIC:
          return _getAsNumberObject (aCell.getNumericCellValue ());
        case STRING:
          return aCell.getStringCellValue ();
        case BOOLEAN:
          return Boolean.valueOf (aCell.getBooleanCellValue ());
        case FORMULA:
          final CellType eFormulaResultType = aCell.getCachedFormulaResultType ();
          switch (eFormulaResultType)
          {
            case NUMERIC:
              return _getAsNumberObject (aCell.getNumericCellValue ());
            case STRING:
              return aCell.getStringCellValue ();
            case BOOLEAN:
              return Boolean.valueOf (aCell.getBooleanCellValue ());
            default:
              throw new IllegalArgumentException ("The cell formula type " + eFormulaResultType + " is unsupported!");
          }
        case BLANK:
          return null;
        default:
          throw new IllegalArgumentException ("The cell type " + eCellType + " is unsupported!");
      }
    }
docs: Return the best matching Java object underlying the passed cell.<br>
  Note: Date values cannot be determined automatically!
  
  @param aCell
  The cell to be queried. May be <code>null</code>.
  @return <code>null</code> if the cell is <code>null</code> or if it is of
  type blank.