@SuppressWarnings("unused")
	private void i(String input[]) throws SecurityException,
			NoSuchFieldException, IllegalArgumentException,
			IllegalAccessException, InstantiationException {

		if (inspObject.isNull() || inspObject.isPrimitive() || input.length < 2
				|| input.length > 3) {
			InfoPrinter.printNothingToDo();
			return;
		}

		String name = input[1];
		Field field = null;
		Class<?> actualClass = inspObject.getObjectClass();

		/**
		 * If there are three arguments, we enter shadow mode and look for
		 * attribute on a specific superclass, otherwise we try all superclasses
		 */
		if (input.length == 3) {
			int level = Integer.parseInt(input[2]);
			for (int i = 0; i < level && actualClass != Object.class; i++) {
				actualClass = actualClass.getSuperclass();
			}
			field = getFieldOnClass(name, actualClass);
		} else {
			field = getFieldInAnyClass(name);
		}

		if (field != null) {
			boolean originalAcess = field.isAccessible();
			field.setAccessible(true);
			Object fieldObj = field.get(inspObject.getObject());
			field.setAccessible(originalAcess);
			InspectedObject obj = new InspectedObject(fieldObj, field.getType());
			updateObject(obj);
			historyGraph.addToHistory(inspObject);
		} else {
			InfoPrinter.printNullInfo("inspect");
		}
	}