docs: public synchronized Object getObject(
              int parameterIndex) throws SQLException {
  
          checkGetParameterIndex(parameterIndex);
  
          Type sourceType = parameterTypes[parameterIndex - 1];
  
          switch (sourceType.typeCode) {
  
              case Types.SQL_DATE :
                  return getDate(parameterIndex);
              case Types.SQL_TIME :
              case Types.SQL_TIME_WITH_TIME_ZONE :
                  return getTime(parameterIndex);
              case Types.SQL_TIMESTAMP :
              case Types.SQL_TIMESTAMP_WITH_TIME_ZONE :
                  return getTimestamp(parameterIndex);
              case Types.SQL_BINARY :
              case Types.SQL_VARBINARY :
                  return getBytes(parameterIndex);
              case Types.OTHER :
              case Types.JAVA_OBJECT : {
                  Object o = getColumnInType(parameterIndex, sourceType);
  
                  if (o == null) {
                      return null;
                  }
  
                  try {
                      return ((JavaObjectData) o).getObject();
                  } catch (HsqlException e) {
                      throw Util.sqlException(e);
                  }
              }
              default :
                  return getColumnInType(parameterIndex, sourceType);
          }
      }