public List<TypeId<?>> asList(){
  return Collections.unmodifiableList(Arrays.asList(types));
}

public List < TypeId < ? > > asList ( ) { return Collections . unmodifiableList ( Arrays . asList ( types ) ) ; }
returns an immutable list .
