if (fieldNode != null || strict) {
return fieldNode;
}
TypeField fieldNodeB = null;
UnityVersion versionB = null;
TypeField fieldNodeC = null;
UnityVersion versionC = null;
for (Map.Entry<Pair<Integer, UnityVersion>, TypeField> entry : entrySet()) {
Pair<Integer, UnityVersion> fieldNodeKey = entry.getKey();
if (fieldNodeKey.getLeft() == classID) {
TypeField fieldNodeEntry = entry.getValue();
UnityVersion revisionEntry = fieldNodeKey.getRight();
if (revisionEntry.getMajor() == version.getMajor()) {
if (revisionEntry.getMinor() == version.getMinor()) {
// if major and minor versions match, it will probably work
return fieldNodeEntry;
} else {
// suboptimal choice
fieldNodeB = fieldNodeEntry;