public static Class getModelIdType(Class model) { 
		if (model.isAssignableFrom(Model.class))
			throw new IllegalArgumentException(EXC_NOTAMODEL);
			
		Method[] declareds = CommonStatic.getDeclaredGetters(model);
		
		Class returnType = null;
		boolean found = false;
		
		for (Method m : declareds) 
			if (m.isAnnotationPresent(Id.class)) {
				found = true;
				returnType = m.getReturnType();
			}
		
		if (!found) {
			List<Class> supers = CommonStatic.getSupers(model);

			if (supers.size() > 1) 
			throw new MalformedModelRuntimeException("You have to define an" +
			" Id for multiple inheritance.");
			
			else if (supers.size() == 1) 
				returnType = getModelIdType(supers.get(0));
				
			else returnType = Integer.TYPE; /* no inheritance */
		}
				
		return returnType;
	}