code: public static JCExpression chainDots(JavacNode node, String elem1, String elem2, String... elems) {
  		return chainDots(node, -1, elem1, elem2, elems);
  	}
docs: In javac, dotted access of any kind, from {@code java.lang.String} to {@code var.methodName}
  is represented by a fold-left of {@code Select} nodes with the leftmost string represented by
  a {@code Ident} node. This method generates such an expression.
  <p>
  The position of the generated node(s) will be unpositioned (-1).
  
  For example, maker.Select(maker.Select(maker.Ident(NAME[java]), NAME[lang]), NAME[String]).
  
  @see com.sun.tools.javac.tree.JCTree.JCIdent
  @see com.sun.tools.javac.tree.JCTree.JCFieldAccess