private void synchronizeEntities(final List<DTO> clientEntities) {
		for (DTO d : clientEntities) {
			if (d instanceof EntityDTO == false)
				continue;

			EntityDTO dto = (EntityDTO) d;
			long id = dto.getEntityID();

			if (!entityMap.containsKey(id)) {
				Entity entity = null;
				if (d instanceof PlayerDTO) {
					entity = entityFactory.createPlayer(dto.getPos(), dto.getClientId());
				}
				if (d instanceof BulletDTO) {
					entity = entityFactory.createBullet(dto.getPos(), dto.getDir());
				}
				entity.setClientId(dto.getClientId());
				entity.setEntityID(dto.getEntityID());

				logger.debug("adding new Entity #" + dto.getEntityID());
				entityMap.put(entity.getEntityID(), entity);
			}

			if (dto instanceof PlayerDTO || dto instanceof BulletDTO) {
				if (entityMap.containsKey(id)) {
					entityMap.get(id).updateFromDTO(dto);
				}
			}
		}
	}