@SuppressWarnings("unchecked")
	protected final void updateComponentType(P newElement) {
		final Class<? extends P> lclazz = (Class<? extends P>) newElement.getClass();
		this.clazz = (Class<? extends P>) ReflectionUtil.getCommonType(this.clazz, lclazz);
	}
@ SuppressWarnings ( "unchecked" ) protected final void updateComponentType ( P newElement ) { final Class < ? extends P > lclazz = ( Class < ? extends P > ) newElement . getClass ( ) ; this . clazz = ( Class < ? extends P > ) ReflectionUtil . getCommonType ( this . clazz , lclazz ) ; }
Update the component type information with
the type of the new array element.

@param newElement is the element for which the known top type in this array must be eventually updated.