class Db2zDatabase extends AbstractDb2Database {

    @Override
    public boolean isCorrectDatabaseImplementation(DatabaseConnection conn) throws DatabaseException {
        return conn.getDatabaseProductName().startsWith("DB2") && StringUtil.startsWith(conn.getDatabaseProductVersion(), "DSN");
    }

    @Override
    public String getShortName() {
        return "db2z";
    }

    @Override
    public String correctObjectName(final String objectName, final Class<? extends DatabaseObject> objectType) {
        return objectName;
    }

    @Override
    public boolean isSystemObject(DatabaseObject example) {<FILL_FUNCTION_BODY>}

    @Override
    protected String getDefaultDatabaseProductName() {
        return "DB2/z";
    }
}

        boolean isSystemIndex = example instanceof Index && example.getName() != null && example.getName().contains("_#_");
        boolean isSystemColumn = example instanceof Column && StringUtil.startsWith(example.getName(), "DB2_GENERATED");
        return isSystemIndex || isSystemColumn || super.isSystemObject(example);
    
<methods>public void <init>() ,public java.lang.String generatePrimaryKeyName(java.lang.String) ,public java.lang.String getDateLiteral(java.lang.String) ,public java.lang.String getDefaultCatalogName() ,public java.lang.String getDefaultDriver(java.lang.String) ,public java.lang.Integer getDefaultPort() ,public java.lang.String getJdbcCatalogName(liquibase.CatalogAndSchema) ,public java.lang.String getJdbcSchemaName(liquibase.CatalogAndSchema) ,public int getMaxFractionalDigitsForTimestamp() ,public int getPriority() ,public liquibase.CatalogAndSchema.CatalogAndSchemaCase getSchemaAndCatalogCase() ,public liquibase.CatalogAndSchema getSchemaFromJdbcInfo(java.lang.String, java.lang.String) ,public java.lang.String getViewDefinition(liquibase.CatalogAndSchema, java.lang.String) throws liquibase.exception.DatabaseException,public boolean isSystemObject(liquibase.structure.DatabaseObject) ,public boolean jdbcCallsCatalogsSchemas() ,public java.util.Date parseDate(java.lang.String) throws liquibase.exception.DateParseException,public boolean supports(Class<? extends liquibase.structure.DatabaseObject>) ,public boolean supportsCatalogs() ,public boolean supportsInitiallyDeferrableColumns() ,public boolean supportsSchemas() ,public boolean supportsTablespaces() <variables>private static final int MAX_DB2_TIMESTAMP_FRACTIONAL_DIGITS