code: public String getRFC1779Name(Map<String, String> oidMap)
          throws IllegalArgumentException {
          if (oidMap.isEmpty()) {
              // return cached result
              if (rfc1779Dn != null) {
                  return rfc1779Dn;
              } else {
                  rfc1779Dn = generateRFC1779DN(oidMap);
                  return rfc1779Dn;
              }
          }
          return generateRFC1779DN(oidMap);
      }
docs: Returns a string form of the X.500 distinguished name
  using the algorithm defined in RFC 1779. Attribute type
  keywords defined in RFC 1779 are emitted, as well as additional
  keywords contained in the OID/keyword map.