boolean isOptional() { return isOptional||term.isOptional(); }
boolean isOptional() { return isOptional||term.isOptional(); }
boolean isOptional() { return isOptional||term.isOptional(); }
boolean isOptional() { return isOptional||term.isOptional(); }
boolean isOptional() { return isOptional||term.isOptional(); }
boolean isOptional() { switch(kind) { case SEQUENCE: for( Term t : terms ) if(!t.isOptional()) return false; return true; case CHOICE: for( Term t : terms ) if(t.isOptional()) return true; return false; default: throw new IllegalArgumentException(); } }
boolean isOptional() { switch(kind) { case SEQUENCE: for( Term t : terms ) if(!t.isOptional()) return false; return true; case CHOICE: for( Term t : terms ) if(t.isOptional()) return true; return false; default: throw new IllegalArgumentException(); } }
boolean isOptional() { switch(kind) { case SEQUENCE: for( Term t : terms ) if(!t.isOptional()) return false; return true; case CHOICE: for( Term t : terms ) if(t.isOptional()) return true; return false; default: throw new IllegalArgumentException(); } }
boolean isOptional() { switch(kind) { case SEQUENCE: for( Term t : terms ) if(!t.isOptional()) return false; return true; case CHOICE: for( Term t : terms ) if(t.isOptional()) return true; return false; default: throw new IllegalArgumentException(); } }
boolean isOptional() { switch(kind) { case SEQUENCE: for( Term t : terms ) if(!t.isOptional()) return false; return true; case CHOICE: for( Term t : terms ) if(t.isOptional()) return true; return false; default: throw new IllegalArgumentException(); } }