public void addCopyTranslation(ASTNode targetNode, ASTNode sourceNode) {
    if (!enabled) {
      return;
    }

    if (targetNode.getOrigin() != null) {
      return;
    }

    CopyTranslation copyTranslation = new CopyTranslation();
    copyTranslation.targetNode = targetNode;
    copyTranslation.sourceNode = sourceNode;
    copyTranslations.add(copyTranslation);
  }
Register a "copy" translation in which a node will be translated into
whatever the translation turns out to be for another node (after
previously registered translations have already been performed).  Deferred
translations are performed in the order they are registered, and follow
the same rules regarding overlap as non-copy translations.

@param targetNode node whose subtree is to be replaced

@param sourceNode the node providing the replacement text
ql/src/java/org/apache/hadoop/hive/ql/parse/UnparseTranslator.java