@SuppressWarnings("unchecked")
	protected T asElementType(Object o) {
		return (T)o;
	}
Return {@code o} as an instance of the element type {@code T}. If
{@code o} is non-null but known to not be an instance of {@code T}, this
method returns {@code null}. The base implementation does not perform any
type checks; override this method to provide strong type checks for the
{@link #contains} and {@link #remove} methods to ensure the arguments to
the {@link EqualityComparator} for the set always have the expected
types.

@param o the object to try and cast to the element type of the set
@return {@code o} if it could be an instance of {@code T}, otherwise
{@code null}.
runtime/Java/src/org/antlr/v4/runtime/misc/Array2DHashSet.java