class PrefixTypesChain {

    public String process(String prefix, NameGenerationRequest request) {
        LOG.trace("Performing prefix processing with first level prefix chain");
        String retVal = processChain(prefix, request, prefixesChanin);
        if (prefixesChanin.isEmpty()) {
            retVal = prefixPrepend.process(retVal, request);
        }
        if (!ensureUniqueness) {
            retVal = pageNumberPrepend.process(retVal, request);
        }
        return extensionProcessor.process(toSafeFilename(retVal), request);
    }

    public  PrefixTypesChain(String prefix);

}