code: public static boolean isSyntheticInit(JCTree stat) {
          if (stat.hasTag(EXEC)) {
              JCExpressionStatement exec = (JCExpressionStatement)stat;
              if (exec.expr.hasTag(ASSIGN)) {
                  JCAssign assign = (JCAssign)exec.expr;
                  if (assign.lhs.hasTag(SELECT)) {
                      JCFieldAccess select = (JCFieldAccess)assign.lhs;
                      if (select.sym != null &&
                          (select.sym.flags() & SYNTHETIC) != 0) {
                          Name selected = name(select.selected);
                          if (selected != null && selected == selected.table.names._this)
                              return true;
                      }
                  }
              }
          }
          return false;
      }
docs: Is statement an initializer for a synthetic field?