protected void replaceParentClassesForAtomics(ClassOrInterfaceDeclaration n) {
        for (ClassOrInterfaceType parent : n.getExtendedTypes()) {
            String parentNameAsString = parent.getNameAsString();
            switch (parentNameAsString) {
                case "AbstractQueue":
                    // ignore the JDK parent
                    break;
                case "BaseLinkedQueue":
                    parent.setName("BaseLinked" + queueClassNamePrefix() + "Queue");
                    break;
                case "ConcurrentCircularArrayQueue":
                    parent.setName("AtomicReferenceArrayQueue");
                    break;
                case "ConcurrentSequencedCircularArrayQueue":
                    parent.setName("SequencedAtomicReferenceArrayQueue");
                    break;
                default:
                    // Padded super classes are to be renamed and thus so does the
                    // class we must extend.
                    parent.setName(translateQueueName(parentNameAsString));
            }
        }
    }
Searches all extended or implemented super classes or interfaces for
special classes that differ with the atomics version and replaces them
with the appropriate class.
jctools-build/src/main/java/org/jctools/queues/atomic/JavaParsingAtomicQueueGenerator.java