while ( ! typeNamesToExplore.isEmpty() ) {
GoTypeName currentTypeName = typeNamesToExplore.poll();
receiverTypes.add(currentTypeName);
GoType underlyingType = currentTypeName.underlyingType();
if ( !(underlyingType instanceof GoTypeStruct) )
continue;
GoTypeStruct typeStruct = (GoTypeStruct) underlyingType;
for (GoTypeStructAnonymousField field : typeStruct.getPsiType().getAnonymousFields()) {