private String processPhoneNumber(String number) {
		// null string case
		if (number == null) { return ""; }
		// empty string case
		if (number.isEmpty()) { return ""; }
		// string less than 10 characters case
		if (number.length() < 10) { number = String.format("%0$10s", number).replace(" ", "0"); }

		String processedNumber = "";
		ArrayList<Character> characters = new ArrayList<Character>();

		// add only digits to characters array
		for (Character character : number.toCharArray()) {
			if (character.isDigit(character)) {
				characters.add(character);
			}
		}

		// check to allow only 10 digits
		while (characters.size() > 10) {
			characters.remove(0);
		}

		processedNumber += "(";
		for (int i = 0; i < 3; i++) {
			processedNumber += characters.get(i);
		}
		processedNumber += ") ";

		for (int i = 3; i < 6; i++) {
			processedNumber += characters.get(i);
		}
		processedNumber += "-";

		for (int i = 6; i < 10; i++) {
			processedNumber += characters.get(i);
		}

		return processedNumber;
	}