public Set<Method> getMethodsFromPackage(String basePackage, boolean recursive, MethodMatcher methodMatcher) {
		Set<Class<?>> classes = getAllClassesFromPackage(basePackage, recursive);
		final Set<Method> finalMethods = new LinkedHashSet<Method>();
		for (Class<?> clazz : classes) {
			Method[] methods = clazz.getDeclaredMethods();
			for (Method method : methods) {
				if (methodMatcher == null || methodMatcher.match(method)) {
					finalMethods.add(method);
				}
			}
		}
		return finalMethods;
	}