boolean sameMembers(ArrayList<RelationMemberDescription> rmds1,ArrayList<RelationMemberDescription> rmds2){
  if (rmds1 == null) {
    return rmds2 == null;
  }
  if (rmds2 == null) {
    return rmds1 == null;
  }
  if (rmds1.size() != rmds2.size()) {
    return false;
  }
  for (int i=0; i < rmds1.size(); i++) {
    RelationMemberDescription rmd1=rmds1.get(i);
    RelationMemberDescription rmd2=rmds2.get(i);
    if (rmd1 == rmd2) {
      continue;
    }
    if (rmd1 != null && !rmd1.equals(rmd2)) {
      return false;
    }
  }
  return true;
}

boolean sameMembers ( ArrayList < RelationMemberDescription > rmds1 , ArrayList < RelationMemberDescription > rmds2 ) { if ( rmds1 == null ) { return rmds2 == null ; } if ( rmds2 == null ) { return rmds1 == null ; } if ( rmds1 . size ( ) != rmds2 . size ( ) ) { return false ; } for ( int i = 0 ; i < rmds1 . size ( ) ; i ++ ) { RelationMemberDescription rmd1 = rmds1 . get ( i ) ; RelationMemberDescription rmd2 = rmds2 . get ( i ) ; if ( rmd1 == rmd2 ) { continue ; } if ( rmd1 != null && ! rmd1 . equals ( rmd2 ) ) { return false ; } } return true ; }
check if two lists of relationmembetdescription are the same note : this considers order relevant
