@Override public InputStream read(String id) { try { if (databaseKind == DatabaseKind.PostgreSQL) { return doReadPostgres(id); } else if (databaseKind == DatabaseKind.Apache_Derby) { return doReadDerby(id); } else { return dbi.inTransaction((h, status) -> doReadStandard(h, id)); } } catch (CallbackFailedException ex) { throw new IconDataAccessException("Unable to read data from id " + id, ex); } }