@Override
	public void run() {
		LogUtils.log(Level.INFO, LauncherConstants.USER_UUID_PREFIX + "Getting UUID from " + LauncherConstants.UUID_URL + "...");
		UserUUID.UUID result = null;
		try {
			final Gson gson = new Gson();
			final UUIDResponse response = gson.fromJson(ConnectionUtils.httpJsonPost(LauncherConstants.UUID_URL, gson.toJson(new UUIDRequest(username, "Minecraft"))), UUIDResponse.class);
			for(final UserUUID.UUID uuid : response.profiles) {
				if(!uuid.name.equals(username)) {
					result = uuid;
					break;
				}
			}
			LogUtils.log(Level.INFO, LauncherConstants.USER_UUID_PREFIX + (result != null ? "User found on Mojang servers, his UUID has been obtained." : "User not found on Mojang servers. Generating a semi-random UUID..."));
		}
		catch(final Exception ex) {
			ex.printStackTrace();
		}
		LogUtils.log(Level.INFO, LauncherConstants.USER_UUID_PREFIX + "Done.");
		parent.saveAndNotifyListeners(new User(username, result == null ? java.util.UUID.nameUUIDFromBytes(("OfflinePlayer:" + username).getBytes(Charset.forName("UTF-8"))).toString().replace("-", "") : result.id, username, false, "0", new ArrayList<Property>()));
	}