}
} else {
//Check anonymous fields
if (!(otherStructAllFields[i] instanceof GoTypeStructAnonymousField))
return false;
GoTypeStructAnonymousField field = (GoTypeStructAnonymousField) allFields[i];
GoTypeStructAnonymousField otherField = (GoTypeStructAnonymousField) otherStructAllFields[i];
if (!field.getFieldName().equals(otherField.getFieldName()))
return false;
if (!field.getType().isIdentical(otherField.getType()))
return false;
PsiElementBase tag = field.getTag();
PsiElementBase otherTag = otherField.getTag();
if ((tag == null && otherTag != null) || (otherTag == null && tag != null))
return false;
if (tag != null && !tag.getText().equals(otherTag.getText()))
return false;
}