public String getEncoded() {
		if (padding == PaddingType.Number && StringUtils.isBlank(original)) {
			return StringUtils.leftPad(StringUtils.EMPTY, size).substring(0, size);
		}

		if (padding == PaddingType.Number) {
			return StringUtils.leftPad(original, size, "0").substring(0, size);
		}

		if (padding == PaddingType.NumberFollowedByAlpha && StringUtils.isBlank(original)) {
			return StringUtils.leftPad(StringUtils.EMPTY, size - 1, "0").substring(0, size - 1) + " ";
		}

		if (padding == PaddingType.NumberFollowedByAlpha) {
			final int lastPosition = original.length() - 1;
			if (StringUtils.isAlpha(original.substring(lastPosition))) {
				final String number = original.substring(0, lastPosition);
				return StringUtils.leftPad(number, size - 1, "0").substring(0, size - 1)
						+ original.substring(lastPosition);
			} else {
				return StringUtils.leftPad(original, size - 1, "0").substring(0, size - 1) + " ";
			}
		}
		if (padding == PaddingType.String) {
			return StringUtils.rightPad(original, size).substring(0, size);
		}

		return StringUtils.EMPTY;
	}