class SurtAuthorityQueueAssignmentPolicy
extends URIAuthorityBasedQueueAssignmentPolicy {
    private static final long serialVersionUID = 3L;
    
    @Override
    protected String getCoreKey(UURI basis) {
        String candidate = getSurtAuthority(basis.getSurtForm());
        return candidate.replace(':','#');
    }
    
    protected String getSurtAuthority(String surt) {<FILL_FUNCTION_BODY>}
}

        int indexOfOpen = surt.indexOf("://(");
        int indexOfClose = surt.indexOf(")");
        if (indexOfOpen == -1 || indexOfClose == -1
                || ((indexOfOpen + 4) >= indexOfClose)) {
            return DEFAULT_CLASS_KEY;
        }
        return surt.substring(indexOfOpen + 4, indexOfClose);
    
<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