public <T extends Status>void removeAll(Class<T> statusClass){
  List<T> interestingStatuses=getAllStatusByClass(statusClass);
  for (  Status status : interestingStatuses) {
    remove(status);
  }
}

public < T extends Status > void removeAll ( Class < T > statusClass ) { List < T > interestingStatuses = getAllStatusByClass ( statusClass ) ; for ( Status status : interestingStatuses ) { remove ( status ) ; } }
removes all statuses of this class
