private <T> ArrayList<Method> findTestMethods(T object, String testname) {

		Method[] allMethods = findAllMethods(object.getClass());
		ArrayList<Method> allNamed = new ArrayList<Method>();
		Class<?>[] testerParam = new Class[] { this.getClass() };

		// make a list of all methods with the given name
		for (Method method : allMethods) {

			if (method.getName().startsWith("test")
					&& this.matchParams(method.getParameterTypes(),
							testerParam)) {
				allNamed.add(method);
				Reflector.ensureIsAccessible(method);
			} else if (method.getAnnotation(TestMethod.class) != null) {
				allNamed.add(method);
				Reflector.ensureIsAccessible(method);
			}
		}

		if (allNamed.size() > 0) {
			// found test methods that matched the given parameter list
			testname = testname + "Found " + allNamed.size() + " test methods";

			return allNamed;
		}
		// no test methods that matched the given parameter list
		else {
			testname = testname + "\nNo method with the name test..."
					+ " found in the class " + object.getClass().getName()
					+ "\n";
			return null;
		}
	}