code: private static Object checkComponentType(Object array, Class<?> expectedComponentType) {
  		Class<?> actualComponentType = array.getClass().getComponentType();
  		if (!expectedComponentType.isAssignableFrom(actualComponentType)) {
  			throw new ArrayStoreException(
  					String.format("The expected component type %s is not assignable from the actual type %s",
  							expectedComponentType.getCanonicalName(), actualComponentType.getCanonicalName()));
  		}
  		return array;
  	}
docs: Checks the component type of the given array against the expected component type.
  
  @param array
  the array to be checked. May not be <code>null</code>.
  @param expectedComponentType
  the expected component type of the array. May not be <code>null</code>.
  @return the unchanged array.
  @throws ArrayStoreException
  if the expected runtime {@code componentType} does not match the actual runtime component type.