@SuppressWarnings("unchecked")
	public CommonPartHandler(
			Class<? extends InterpreterPart<TargetType, ReturnType>> cls,
			Compiler host) throws Exception {
		this.cls = cls;
		for (Method m : cls.getMethods()) {
			if (m.getName().equals("execute")) {
				returnType = (Class<ReturnType>) cls.getMethod("execute")
						.getReturnType();
			} else if (m.getName().equals("bind")
					&& !m.getParameterTypes()[0].equals(Object.class)) {

				targetType = (Class<TargetType>) m.getParameterTypes()[0];
			}
			if (returnType!=null && targetType!=null) break;
		}
	}