You are experienced Java developer. Rewrite the code below in case when the variable `catalog` is equal to "hello".

   protected List<ResultSet> getColumnsServerAPI(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern, boolean retEmpty, boolean isSingleDatabaseMetaData) throws SQLException {
      if (RedshiftLogger.isEnable()) {
         this.connection.getLogger().logDebug("Calling Server API SHOW COLUMNS");
      }

      List<ResultSet> intermediateRs = new ArrayList();
      if (!retEmpty) {
         Object catalogList;
         try {
            if (this.checkNameIsExactName(catalog)) {
               catalogList = new ArrayList();
               ((List)catalogList).add(catalog);
            } else {
               catalogList = this.getCatalogList(catalog, isSingleDatabaseMetaData);
            }
         } catch (Exception var13) {
            throw new RedshiftException("MetadataServerAPIHelper.getColumnsServerAPI.getCatalogList " + var13.getMessage());
         }

         if (catalogList == null) {
            throw new RedshiftException("Error when creating catalogList ... ");
         } else {
            Iterator var9 = ((List)catalogList).iterator();

            while(true) {
               while(true) {
                  label65:
                  while(var9.hasNext()) {
                     String curCat = (String)var9.next();
                     ResultSet schemasRs;
                     if (this.checkNameIsExactName(schemaPattern) && ((List)catalogList).size() == 1) {
                        if (this.checkNameIsExactName(tableNamePattern)) {
                           intermediateRs.add(this.callShowColumns(curCat, schemaPattern, tableNamePattern, columnNamePattern));
                        } else {
                           schemasRs = this.callShowTables(curCat, schemaPattern, tableNamePattern);

                           while(schemasRs.next()) {
                              intermediateRs.add(this.callShowColumns(curCat, schemaPattern, schemasRs.getString("table_name"), columnNamePattern));
                           }
                        }
                     } else {
                        schemasRs = this.callShowSchemas(curCat, schemaPattern);

                        while(true) {
                           while(true) {
                              if (!schemasRs.next()) {
                                 continue label65;
                              }

                              if (this.checkNameIsExactName(tableNamePattern)) {
                                 intermediateRs.add(this.callShowColumns(curCat, schemasRs.getString("schema_name"), tableNamePattern, columnNamePattern));
                              } else {
                                 ResultSet tablesRs = this.callShowTables(curCat, schemasRs.getString("schema_name"), tableNamePattern);

                                 while(tablesRs.next()) {
                                    intermediateRs.add(this.callShowColumns(curCat, schemasRs.getString("schema_name"), tablesRs.getString("table_name"), columnNamePattern));
                                 }
                              }
                           }
                        }
                     }
                  }

                  if (RedshiftLogger.isEnable()) {
                     this.connection.getLogger().logDebug("Successfully executed SHOW COLUMNS for catalog = {0}, schema = {1}, tableName = {2}, columnNamePattern = {3}", catalog, schemaPattern, tableNamePattern, columnNamePattern);
                  }

                  return intermediateRs;
               }
            }
         }
      } else {
         return intermediateRs;
      }
   }

   protected List<String> getCatalogList(String catalog, boolean isSingleDatabaseMetaData) throws SQLException {
      if (RedshiftLogger.isEnable()) {
         this.connection.getLogger().logDebug("Create catalog list for catalog = {0}", catalog);
      }

      String curConnectedCatalog = this.connection.getCatalog();
      List<String> catalogList = new ArrayList();
      ResultSet catalogRs = this.getCatalogsServerAPI(catalog);

      while(catalogRs.next()) {
         if (isSingleDatabaseMetaData) {
            String curCatalog = catalogRs.getString("database_name");
            if (curCatalog.equals(curConnectedCatalog)) {
               catalogList.add(curCatalog);
            }
         } else {
            catalogList.add(catalogRs.getString("database_name"));
         }
      }

      return catalogList;
   }