public ExpressionNf(EnvDTE.Expression expression, int depth) : this(expression)
 {
     if (depth > 0 && expression.DataMembers.Count > 0)
     {
         //Recursively call this constructor until depth of 0
         foreach (EnvDTE.Expression dataMember in expression.DataMembers)
         {
             ExpressionNf convertedDataMember = new ExpressionNf(dataMember, this, depth - 1);
             Members.Add(convertedDataMember);
         }
     }
 }
 public ExpressionNf(EnvDTE.Expression expression, int depth)
     : this(expression)
 {
     if (depth > 0 && expression.DataMembers.Count > 0)
     {
         //Recursively call this constructor until depth of 0
         foreach (EnvDTE.Expression dataMember in expression.DataMembers)
         {
             ExpressionNf convertedDataMember = new ExpressionNf(dataMember, this, depth - 1);
             Members.Add(convertedDataMember);
         }
     }
 }
 public ExpressionNf(EnvDTE.Expression expression, ExpressionNf parent, int depth)
     : this(expression, depth)
 {
     Parent = parent;
 }
 public ExpressionNf(EnvDTE.Expression expression, ExpressionNf parent, int depth) : this(expression, depth)
 {
     Parent = parent;
 }