code: @Override
     public SqlStatement[] generateStatements(final Database database) {
        final Collection<SqlStatement> statements = new ArrayList<SqlStatement>();
        // MySQL and PostgreSQL only need the normal DROP INDEX statement.
        if (!(database instanceof MySQLDatabase) && !(database instanceof PostgresDatabase)) {
           final DropSpatialIndexStatement dropSpatialIndex = new DropSpatialIndexStatement(
                 this.indexName, this.catalogName, this.schemaName, this.tableName);
           statements.add(dropSpatialIndex);
        }
  
        // GeoDB doesn't use a tradition index structure so don't issue the normal DROP INDEX
        // statement.
        if (!(database instanceof DerbyDatabase) && !(database instanceof H2Database)) {
           final DropIndexStatement dropIndex = new DropIndexStatement(this.indexName,
                 this.catalogName, this.schemaName, this.tableName, null);
           statements.add(dropIndex);
        }
        return statements.toArray(new SqlStatement[statements.size()]);
     }
docs: Generates a {@link DropSpatialIndexStatement} followed by a {@link DropIndexStatement}, if
  applicable. The first statement allows extra clean-up when dropping an index. The second
  statement leverages the normal <code>DROP INDEX</code> logic.