if (!WOApplication.application().isCachingEnabled() || ERXExtensions.safeEquals(request().stringFormValueForKey("pw"), System.getProperty("er.extensions.ERXGCPassword"))) {
if (canPerformActionWithPasswordKey("er.extensions.ERXGCPassword")) {
    public WOComponent forceGCAction() {        ERXStringHolder result=(ERXStringHolder)pageWithName("ERXStringHolder");        if (!WOApplication.application().isCachingEnabled() ||            ERXExtensions.safeEquals(request().stringFormValueForKey("pw"), System.getProperty("er.extensions.ERXGCPassword"))) {            Runtime runtime = Runtime.getRuntime();            ERXUnitAwareDecimalFormat decimalFormatter = new ERXUnitAwareDecimalFormat(ERXUnitAwareDecimalFormat.BYTE);            decimalFormatter.setMaximumFractionDigits(2);                       String info = "Before: ";            info += decimalFormatter.format(runtime.maxMemory()) + " max, ";            info += decimalFormatter.format(runtime.totalMemory()) + " total, ";            info += decimalFormatter.format(runtime.totalMemory()-runtime.freeMemory()) + " used, ";            info += decimalFormatter.format(runtime.freeMemory()) + " free\n";                        ERXExtensions.forceGC(5);              info += "After: ";            info += decimalFormatter.format(runtime.maxMemory()) + " max, ";            info += decimalFormatter.format(runtime.totalMemory()) + " total, ";            info += decimalFormatter.format(runtime.totalMemory()-runtime.freeMemory()) + " used, ";            info += decimalFormatter.format(runtime.freeMemory()) + " free\n";            result.setValue(info);        }        return result;    }