code: public List<IndexInfo> getIndexInfo(final String catalog, final String schema, final String table,
                                          final boolean unique, final boolean approximate)
              throws SQLException {
          final List<IndexInfo> list = new ArrayList<>();
          try (ResultSet results = databaseMetadata.getIndexInfo(catalog, schema, table, unique, approximate)) {
              if (results != null) {
                  bind(results, IndexInfo.class, list);
              }
          }
          return list;
      }
docs: Invokes {@link DatabaseMetaData#getIndexInfo(java.lang.String, java.lang.String, java.lang.String, boolean,
  boolean)} with given arguments and returns bound information.
  
  @param catalog     catalog the value for {@code catalog} parameter
  @param schema      schema the value for {@code schema} parameter
  @param table       table the value for {@code table} parameter
  @param unique      unique the value for {@code unique} parameter
  @param approximate approximate the value for {@code approximage} parameter
  @return a list of index info
  @throws SQLException if a database error occurs.