private void processConfigurationOptions() {
   nOptions = 0;
   int maxDescL = -1;
   int maxOptsL = 20;
   if (config == null) {
     width = 70;
     return;
   }
   for (Map.Entry<String, ConfigurationOption> entry : config.entrySet()) {
     String key = entry.getKey();
     ConfigurationOption option = entry.getValue();
     if (key.equalsIgnoreCase("builtin")) {
       continue;
     }
     nOptions++;
     // String optionName = option.getName();
     String optionDescription = option.getDescription();
     if (optionDescription.length() > maxDescL) {
       maxDescL = optionDescription.length();
     }
     // String[] optionHierarchy = option.getCategoryHierarchy();
     Object optionValue = option.getValue();
     if (optionValue != null && optionValue.toString().length() > maxOptsL) {
       maxOptsL = optionValue.toString().length();
     }
     Object[] optionPossibleValues = option.getPossibleValues();
     if (optionPossibleValues != null && optionPossibleValues.length > 0) {
       for (int i = 0; i < optionPossibleValues.length; i++) {
         if (optionPossibleValues[i].toString().length() > maxOptsL) {
           maxOptsL = optionPossibleValues[i].toString().length();
         }
       }
     } else if (optionValue.getClass().getName().equalsIgnoreCase("java.lang.String")) {
       int size = Math.max(optionValue.toString().length(), 40);
       if (size > maxOptsL) {
         maxOptsL = size;
       }
     }
     // logger.debug("maxDescL = "+maxDescL+"   maxOptsL = "+maxOptsL);
   }
   width = maxDescL + 5 + maxOptsL + 15;
   logger.debug("maxDescL = " + maxDescL + "   maxOptsL = " + maxOptsL + "   width = " + width);
 }