public ConstructorWrapper findByArgumentTypes(Class<?>... types) {
		for (ConstructorWrapper wrapper : this.constructorWrappers) {
			List<ParameterWrapper> parameters = wrapper.parameters();
			if (parameters.size() == types.length) {
				boolean valid = true;
				for (int i = 0, max = parameters.size(); i < max && valid; i++) {
					if (parameters.get(i).getType() != types[i]) {
						valid = false;;
					}
				}
				if (valid) {
					return wrapper;
				}
			}
		}
		return null;
	}