public Object get(ResultSet rs, String name) throws SQLException
  {
    Object value = super.get(rs, name);
    if (value == null)
      return null;

    InputStream is = null;
    
    if (value instanceof InputStream)
    {
      is = (InputStream) value;
    }
    else if (value instanceof Blob)
    {
      Blob b = (Blob) value;
      is = b.getBinaryStream();
    }
    else if (value instanceof byte[])
      return value;

    if (is == null)
    {
      Logger.warn("don't know how to handle type " + value.getClass().getName() + " - returning unchanged");
      return value;
    }
    
    // Daten aus dem InputStream kopieren
    try
    {
      ByteArrayOutputStream bos = new ByteArrayOutputStream();
      byte[] buf = new byte[1024];
      int len = 0;
      while ((len = is.read(buf)) != -1)
        bos.write(buf,0,len);
        
      return bos.toByteArray();
    }
    catch (IOException ioe)
    {
      throw new SQLException("unable to read blob: " + ioe.getMessage());
    }
    finally
    {
      try
      {
        is.close();
      }
      catch (IOException e)
      {
        throw new SQLException("unable to close inputstream: " + e.getMessage());
      }
    }
  }