code: def explainParam(self, param):
          
          param = self._resolveParam(param)
          values = []
          if self.isDefined(param):
              if param in self._defaultParamMap:
                  values.append("default: %s" % self._defaultParamMap[param])
              if param in self._paramMap:
                  values.append("current: %s" % self._paramMap[param])
          else:
              values.append("undefined")
          valueStr = "(" + ", ".join(values) + ")"
          return "%s: %s %s" % (param.name, param.doc, valueStr)
docs: Explains a single param and returns its name, doc, and optional
          default value and user-supplied value in a string.