recursive entity type finder