docs: protected void packageDef(AST packageDef) {
          List<AnnotationNode> annotations = new ArrayList<AnnotationNode>();
          AST node = packageDef.getFirstChild();
          if (isType(ANNOTATIONS, node)) {
              processAnnotations(annotations, node);
              node = node.getNextSibling();
          }
          String name = qualifiedName(node);
          // TODO should we check package node doesn't already exist? conflict?
          PackageNode packageNode = setPackage(name, annotations);
          configureAST(packageNode, packageDef);
      }