code: public static <T, S extends T> int indexOf(T array[], S item, int fromIndex){
          if(array==null)
              return -1;
  
          for(int i=fromIndex; i<array.length; i++){
              if(Util.equals(array[i], item))
                  return i;
          }
          return -1;
      }
docs: returns first index of <code>item<code> in given <code>array</code> starting
  from <code>fromIndex</code>(inclusive)
  
  @param array     object array, can be null
  @param item      item to be searched, can be null
  @param fromIndex index(inclusive) from which search happens.
  @return          -1 if array is null, or the item is not found
  otherwize returns first index of item in array