int (@NotNull final PyElement o1, @NotNull final PyElement o2) { var o1UUID = getObject(UUID_KEY, o1, () -> UUID.randomUUID()); var o2UUID = getObject(UUID_KEY, o2, () -> UUID.randomUUID()); int result = compare(o1, o2); if (result > 0) { //o1 depends on 02 getObject(DEPENDENCIES_KEY, o1, () -> new HashSet<>()).add(o2UUID); } else if (result < 0) { // o2 depends on 01 getObject(DEPENDENCIES_KEY, o2, () -> new HashSet<>()).add(o1UUID); } return result; }