remove unused constructor method
replace shallow copy operations with more explicit shallowCopy method call (for consistency)
call superclass visitor on return values