code: static String getKeyword
          (ObjectIdentifier oid, int standard, Map<String, String> extraOidMap) {
  
          // check extraOidMap first, then fallback to built-in map
          String oidString = oid.toString();
          String keywordString = extraOidMap.get(oidString);
          if (keywordString == null) {
              AVAKeyword ak = oidMap.get(oid);
              if ((ak != null) && ak.isCompliant(standard)) {
                  return ak.keyword;
              }
          } else {
              if (keywordString.length() == 0) {
                  throw new IllegalArgumentException("keyword cannot be empty");
              }
              keywordString = keywordString.trim();
              char c = keywordString.charAt(0);
              if (c < 65 || c > 122 || (c > 90 && c < 97)) {
                  throw new IllegalArgumentException
                      ("keyword does not start with letter");
              }
              for (int i=1; i<keywordString.length(); i++) {
                  c = keywordString.charAt(i);
                  if ((c < 65 || c > 122 || (c > 90 && c < 97)) &&
                      (c < 48 || c > 57) && c != '_') {
                      throw new IllegalArgumentException
                      ("keyword character is not a letter, digit, or underscore");
                  }
              }
              return keywordString;
          }
          // no compliant keyword, use OID
          if (standard == AVA.RFC2253) {
              return oidString;
          } else {
              return "OID." + oidString;
          }
      }
docs: Get a keyword for the given ObjectIdentifier according to standard.
  Checks the extraOidMap for a keyword first, then falls back to the
  builtin/default set. If no keyword is available, the ObjectIdentifier
  is encoded as a String.