code: public Object getElementAtIndex(int index) throws ReflectorException  {
  		
  		if(object == null) {
  			logger.error("object is null: did you specify it using the 'inspect()' method?");
  			throw new ReflectorException("object is null: did you specify it using the 'inspect()' method?");
  		}
  		
  		Object result = null;
  		if(object.getClass().isArray()) {
  			result = Array.get(object, translateArrayIndex(index, getArrayLength()));
  		} else if (object instanceof List<?>){
  			result = ((List<?>)object).get(translateArrayIndex(index, getArrayLength()));
  		} else {
  			throw new ReflectorException("object is not an array or a list");
  		}
  		return result;
  	}
docs: If the object is an array or a subclass of <code>List</code>, it retrieves
  the element at the given index.
  
  @param index
  the offset of the element to be retrieved; this value can be positive
  (and the offset is calculated from the start of the array or list), or
  negative, in which case the offset is calculated according to the rule
  that element -1 is the last, -2 is the one before the last, etc.
  @return
  the element at the given index.
  @throws ReflectorException
  if the index is not valid for the given object.