code: public static Integer valueOf(int i) {
          if (i >= cache_low && i <= cache_high) { // must cache
              return cache[i - cache_low];
          } else {
              return new Integer(i);
          }
      }
docs: Returns a <tt>Integer</tt> instance representing the specified <tt>int</tt> value. If a new <tt>Integer</tt>
  instance is not required, this method should generally be used in preference to the constructor
  {@link #Integer(int)}, as this method is likely to yield significantly better space and time performance by
  caching frequently requested values.
  
  @param i an <code>int</code> value.
  @return a <tt>Integer</tt> instance representing <tt>i</tt>.
  @since 1.5