InvocationTargetException, IllegalAccessException {
List<MethodAndInvocationTarget> targetMethods = new ArrayList<MethodAndInvocationTarget>();
Method[] methods = target.getClass().getMethods();
for (Method method : methods) {
if (method.isAnnotationPresent(DomainStep.class)) {
StringToObjectParser parser = new StringToObjectParser(customParserFinder);
targetMethods.add(new MethodAndInvocationTarget(method, target, parser));
} else {
// TODO - build a MethodAndInvocationTarget from the method name and parameters
// must not conflict with defined methods
}