@SuppressWarnings("unused")
	private void c(String input[]) throws IllegalArgumentException,
			IllegalAccessException, InvocationTargetException,
			SecurityException, NoSuchMethodException {

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

		String name = input[1];
		String[] inputArgs = new String[input.length - 2];
		Object[] methodArgs = new Object[inputArgs.length];
		Method bestMethod = null;
		System.arraycopy(input, 2, inputArgs, 0, inputArgs.length);

		Class<?> actualClass = inspObject.getObjectClass();
		while (bestMethod == null && actualClass != Object.class) {
			bestMethod = filterMethods(actualClass.getDeclaredMethods(),
					inputArgs, name);
			actualClass = actualClass.getSuperclass();
		}

		/** no compatible method was found **/
		if (bestMethod == null) {
			InfoPrinter.printNullInfo("call");
			return;
		}

		/**
		 * For each method argument, the correspondent input argument is parsed
		 * to method argument type, or parsed with one compatible type if the
		 * method argument type is object
		 */

		for (int i = 0; i < bestMethod.getParameterTypes().length; i++) {
			if (bestMethod.getParameterTypes()[i] == Object.class) {
				methodArgs[i] = parseObjectType(inputArgs[i]);
			} else {
				methodArgs[i] = parse(bestMethod.getParameterTypes()[i],
						inputArgs[i]);
			}
		}

		updateObject(new InspectedObject(bestMethod.invoke(
				inspObject.getObject(), methodArgs), bestMethod.getReturnType()));
		historyGraph.addToHistory(inspObject);
	}