code: public <T> T getObject(int parameterIndex, Class<T> type) throws SQLException {
  	// used reflection to make sure this work with Java 5 and 6
  	try {
  	    return (T) stat.getClass().getMethod("getObject", new Class[] { int.class, Class.class }).invoke(stat, new Object[] { parameterIndex, type });
  	}
  	catch (Throwable t) {
  	    ExceptionUtil.rethrowIfNecessary(t);
  	    if (t instanceof InvocationTargetException && ((InvocationTargetException) t).getTargetException() instanceof SQLException)
  		throw (SQLException) ((InvocationTargetException) t).getTargetException();
  	    throw new PageRuntimeException(Caster.toPageException(t));
  	}
      }
docs: used only with java 7, do not set @Override