protected static boolean isRecursive(Class type, String connectionName) {
		if (type.isAssignableFrom(Model.class))
			throw new IllegalArgumentException(EXC_NOTAMODEL);
					
		Method[] getters = getDeclaredGetters(type);
		
		for (Method m : getters)
			if (m.isAnnotationPresent(Connection.class)) {
				Connection c = m.getAnnotation(Connection.class);
			
				Class returnType = m.getReturnType();
				if (returnType.isArray()) 
					returnType = returnType.getComponentType();
				
				/* connection found */
				if (c.name().equals(connectionName) && 
					returnType.equals(type)) return true;
			}
			
		return false;
	}