public void perform() {
		System.out.println("Checking and registering "
				+ usableJabberIdentifiers.size() + " identifiers");
		System.out
				.println("======================================================================");
		System.out.println("Checking identifiers:");
		System.out
				.println("----------------------------------------------------------------------");
		for (XmppIdentifier identifier : usableJabberIdentifiers) {
			check(identifier);
		}
		System.out
				.println("----------------------------------------------------------------------");
		System.out.println("Need to register " + identifierToRegister.size()
				+ " new identifiers");
		int minutes = (identifierToRegister.size() - 1) * REGISTRATION_DELAY;
		if (minutes >= 60) {
			int remainingMinutes = minutes % 60;
			System.out.println("Needs " + (minutes - remainingMinutes) / 60
					+ " hours and " + remainingMinutes + " minutes");
		} else if (minutes > 0) {
			System.out.println("Needs " + minutes + " minutes!");
		}
		System.out
				.println("----------------------------------------------------------------------");
		for (XmppIdentifier identifier : identifierToRegister) {
			if (register(identifier.getId())) {
				System.out.println(identifier.getId()
						+ " was registered successful.");
				registrationCounter++;
			} else {
				System.err
						.println(identifier.getId() + " can't be registered.");
			}
		}
		System.out
				.println("----------------------------------------------------------------------");
		System.out.println("Done! " + registrationCounter
				+ " identifiers were registered successful");
		int unregistered = identifierToRegister.size() - registrationCounter;
		if (unregistered > 0) {
			System.out.println("Can't register " + unregistered
					+ " identifiers. Pleas start the tool again in at least "
					+ REGISTRATION_DELAY + " minutes");
		}
		System.out.println("Job completed");
		System.out
				.println("======================================================================");
	}