+ if ( ( ie_cutoff <= -1 ) || ( d.getPerDomainEvalue() <= ie_cutoff ) ) {
+ if ( first ) {
+ first = false;
+ }
+ else {
+ sb.append( separator );
+ }
+ sb.append( d.getDomainId() );
+ }
+ }
+ return sb.toString();
+ }
+
+ public final String toDomainArchitectureString( final String separator ) {
+ return toDomainArchitectureString( separator, -1 );
+ }
+
+ public String toDomainArchitectureString( final String separator,
+ final int repeats_limit,
+ final String repeat_separator ) {
+ if ( repeats_limit < 3 ) {
+ throw new IllegalArgumentException( "repeats limit cannot be smaller than 3" );
+ }
+ final StringBuilder sb = new StringBuilder();
+ StringBuilder buffer = new StringBuilder();
+ String prev_id = "";
+ int counter = 1;
+ for( final Domain d : getDomainsSortedByPosition() ) {
+ final String id = d.getDomainId();
+ if ( prev_id.equals( id ) ) {
+ counter++;