List elements = ...; // Elements to copy/paste.
List views = ...; // Symbols to copy/paste.
Element parent = ...; // A parent to which elements should be pasted: either the same project or another project.
BaseElement symbolParent = ...; // A parent to which symbols should be pasted.
Project project = ...;
SessionManager sessionManager = SessionManager.getInstance();
sessionManager.createSession(project, "Clone");
// A 4th parameter indicates whether deep or shallow copy is applied.
// A 5th parameter indicates whether an element name uniqueness should be preserved in the parent.
List baseElements = CopyPasting.copyPasteElements(views, parent, symbolParent, true, true);
sessionManager.closeSession(project);