private static String guessNested(String mvcName) {
		StringBuffer result = new StringBuffer(mvcName.length());
		char[] source = mvcName.toCharArray();
		for (int i =0; i < source.length; i++) {
			char ch = source[i];
			if (Character.isUpperCase(ch)) {
				// customerName -> customer.name
				result.append("." + Character.toLowerCase(ch));
			} else if (Character.isDigit(ch)) {
				// customers12Name -> customers[12].name
				result.append('[');
				result.append(ch);
				i++;
				boolean found = false;
				// adding other digits until letter is found...
				for ( ; !found && i < source.length; i++) {
					ch = source[i];
					if (Character.isDigit(ch)) {
						result.append(ch);
					} else {
						// closing the digit part...
						result.append(']'); // closing the digit part
						result.append('.'); // adding the separator
						result.append(Character.toLowerCase(ch)); // adding the letter
						found = true; // exiting to outer loop...
						i--; // moving back for the outer loop...
					}
				}
				// adding ']' if the end was reached..
				if (i==source.length) {
					result.append(']');
				}
			} else {
				result.append(ch);
			}
		}
		return result.toString();
	}