code: private void reAliasChildren(JoinDescription join) {
          for (JoinDescription child : join.children.values()) {
              child.alias(J.path(join.getAlias(), child.getOriginalAlias()));
              reAliasChildren(child);
          }
      }
docs: Re-alias due to order of 'nested' method execution (the very last nested is executed first and it's parent is not re-aliased yet)