for idx, foreignKey := range foreignKeys {
                                        if foreignField := getForeignField(foreignKey, toFields); foreignField != nil {
                                            if associationField := getForeignField(associationForeignKeys[idx], allFields); associationField != nil {
                                                // mark field as foreignkey, use global lock to avoid race
                                                structsLock.Lock()