docs: DirContextAdapter constructAdapterFromName(Attributes attrs, Name name, String nameInNamespace) {
  		String nameString;
  		String referralUrl = "";
  
  		if (name instanceof CompositeName) {
  			// Which it most certainly will be, and therein lies the
  			// problem. CompositeName.toString() completely screws up the
  			// formatting
  			// in some cases, particularly when backslashes are involved.
  			nameString = LdapUtils
  					.convertCompositeNameToString((CompositeName) name);
  		}
  		else {
  			LOG
  					.warn("Expecting a CompositeName as input to getObjectInstance but received a '"
                              + name.getClass().toString()
                              + "' - using toString and proceeding with undefined results");
  			nameString = name.toString();
  		}
  
  		if (nameString.startsWith(LDAP_PROTOCOL_PREFIX) || nameString.startsWith(LDAPS_PROTOCOL_PREFIX)) {
  			if (LOG.isDebugEnabled()) {
  				LOG.debug("Received name '" + nameString + "' contains protocol delimiter; indicating a referral."
  						+ "Stripping protocol and address info to enable construction of a proper LdapName");
  			}
  			try {
  				URI url = new URI(nameString);
  				String pathString = url.getPath();
  				referralUrl = nameString.substring(0, nameString.length() - pathString.length());
  
  				if (StringUtils.hasLength(pathString) && pathString.startsWith("/")) {
  					// We don't want any slash in the beginning of the
  					// Distinguished Name.
  					pathString = pathString.substring(1);
  				}
  
  				nameString = pathString;
  			}
  			catch (URISyntaxException e) {
  				throw new IllegalArgumentException(
  						"Supplied name starts with protocol prefix indicating a referral,"
  								+ " but is not possible to parse to an URI",
  						e);
  			}
  			if (LOG.isDebugEnabled()) {
  				LOG.debug("Resulting name after removal of referral information: '" + nameString + "'");
  			}
  		}
  
          DirContextAdapter dirContextAdapter = new DirContextAdapter(attrs, LdapUtils.newLdapName(nameString),
                  LdapUtils.newLdapName(nameInNamespace), referralUrl);
          dirContextAdapter.setUpdateMode(true);
          return dirContextAdapter;
      }