Fix formatting placeholders
Remove usage of JSR305 annotations (@Nullable) and no-op override of #equals(Object)
Synchronize Application#getMetaData. #setMetaData() is already synchronized
Remove unused variable (dead store)
Remove meaningless identity check, fix typo in error message and remove a check for null when it is known to not be null.
Remove a check for null when it is known that the returned value is always non-null
Add a reference to JSONObject#quote(String)
Move the try/catch just around the 'validator.validate()' call. Otherwise the construction of the error message will fail with NPE because 'validator' my be null
Append a character instead of a String when possible
Java 7 diamonds
Make inner classes static where possible
Small simplification - 'result' cannot be null at that stage
User Args#notNull()
Fix transformation of an Enumeration to Array - we need to pass the type of the array we want to be constructed, otherwise it will be Object[]
Return null instead of throwing null.

org.springframework.context.ApplicationContext#getId javadoc says:
/**
 * Return the unique id of this application context.
 * @return the unique id of the context, or {@code null} if none
 */
Use AtomicInteger instead of a volatile int.

++ operation is not atomic and it may fail with 'int'
Synchronize the getter. The setter is already synchronized
Add override of hashCode(). There is such for #equals(Object) already
Improve usage of concurrent map - no need of synchronization.

Add javadoc