code: public void setBasenames(String... basenames) {
  		if (basenames != null) {
  			this.basenames = new String[basenames.length];
  			for (int i = 0; i < basenames.length; i++) {
  				String basename = basenames[i];
  				Assert.hasText(basename, "Basename must not be empty");
  				this.basenames[i] = basename.trim();
  			}
  		}
  		else {
  			this.basenames = new String[0];
  		}
  	}
docs: Set an array of basenames, each following the basic ResourceBundle convention
  of not specifying file extension or language codes, but in contrast to
  {@link ResourceBundleMessageSource} referring to a Spring resource location:
  e.g. "WEB-INF/messages" for "WEB-INF/messages.properties",
  "WEB-INF/messages_en.properties", etc.
  <p>XML properties files are also supported: .g. "WEB-INF/messages" will find
  and load "WEB-INF/messages.xml", "WEB-INF/messages_en.xml", etc as well.
  <p>The associated resource bundles will be checked sequentially when resolving
  a message code. Note that message definitions in a <i>previous</i> resource
  bundle will override ones in a later bundle, due to the sequential lookup.
  @param basenames an array of basenames
  @see #setBasename
  @see java.util.ResourceBundle