I've deprecated findByAnd locally, replacing calls with a variant that takes a boolean, which specifies whether to use the cache.
Initially, my replacement just added a new findByAnd. However, I'm now starting to lean towards replacing with findList instead. However, in my opinion, I think that will make programming ofbiz more difficult. I'd like to add a findList variant, that takes a Map instead of an EntityCondition. Without this new variant, there would be ton of variants that would only need to import EntityCondition, just to create a condition. There are also performance considerations to consider. EntityCondition.makeCondition(Map) directly takes the map, doing no processing. However, EntityCondition.makeCondition(Object...) eventually calls EntityUtil.makeFields, which does a little more than UtilMisc. In addition to the iteration over the array, it also does a check on the value for Comparable/Serializable. This latter check seems a bit superfluous, as eventually the base condition classes check the values against the model. So, from a purist stand point, even tho findByAnd could be replaced by findList, I think it is too useful; it saves enough code in application layers, imho.