Added @SuppressWarnnings("unchecked")