class HostnameQueueAssignmentPolicy 
extends URIAuthorityBasedQueueAssignmentPolicy {
    private static final long serialVersionUID = 3L;

    @Override
    protected String getCoreKey(UURI basis) {<FILL_FUNCTION_BODY>}


}

        String scheme = basis.getScheme();
        String candidate = null;
        try {
            candidate = basis.getAuthorityMinusUserinfo();
        } catch (URIException ue) {}// let next line handle
        
        if(StringUtils.isEmpty(candidate)) {
            return null; 
        }
        if (UURIFactory.HTTPS.equals(scheme)) {
            // If https and no port specified, add default https port to
            // distinguish https from http server without a port.
            if (!candidate.matches(".+:[0-9]+")) {
                candidate += UURIFactory.HTTPS_PORT;
            }
        }
        // Ensure classKeys are safe as filenames on NTFS
        return candidate.replace(':','#');
    
<methods>public non-sealed void <init>() ,public java.lang.String getClassKey(org.archive.modules.CrawlURI) ,public boolean getDeferToPrevious() ,public int getParallelQueues() ,public boolean getParallelQueuesRandomAssignment() ,public void setDeferToPrevious(boolean) ,public void setParallelQueues(int) ,public void setParallelQueuesRandomAssignment(boolean) <variables>protected static java.lang.String DEFAULT_CLASS_KEY,protected org.archive.util.LongToIntConsistentHash conhash,private static final long serialVersionUID