TextRange going to be fair: javadocs
TextRange going to be fair: javadocs
avoid passing null dependencies to cached value