code: private boolean hasExpansionExpressionInArguments()
    {
      Expression[] args = _expr().getArgs();
      if( args == null )
      {
        return false;
      }
  
      for( Expression arg: args )
      {
        List<IMemberExpansionExpression> l = new ArrayList<>();
        if( arg.getContainedParsedElementsByType( IMemberExpansionExpression.class, l ) )
        {
          for( IMemberExpansionExpression expr: l )
          {
            if( isInThisNew( expr ) )
            {
              return true;
            }
          }
        }
  
        List<BeanMethodCallExpression> list = new ArrayList<>();
        if( arg.getContainedParsedElementsByType( BeanMethodCallExpression.class, list ) )
        {
          for( BeanMethodCallExpression expr: list )
          {
            if( expr.isExpansion() && isInThisNew( expr ) )
            {
              return true;
            }
          }
        }
      }
      return false;
    }
docs: Sadly, the JVM verifier does not like the loops (backward jumps) between a NEW call on a type and the call for its ctor.
  Otherwise this results in "java.lang.VerifyError: Uninitialized object exists on backward branch".  So we opt to just
  call the ctor reflectively instead of making up some other bullshit.