public List<Modifier> newModifiers(int flags){
  if (this.apiLevel == AST.JLS2) {
    unsupportedIn2();
  }
  List<Modifier> result=new ArrayList<Modifier>(3);
  if (Modifier.isPublic(flags)) {
    result.add(newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD));
  }
  if (Modifier.isProtected(flags)) {
    result.add(newModifier(Modifier.ModifierKeyword.PROTECTED_KEYWORD));
  }
  if (Modifier.isPrivate(flags)) {
    result.add(newModifier(Modifier.ModifierKeyword.PRIVATE_KEYWORD));
  }
  if (Modifier.isAbstract(flags)) {
    result.add(newModifier(Modifier.ModifierKeyword.ABSTRACT_KEYWORD));
  }
  if (Modifier.isStatic(flags)) {
    result.add(newModifier(Modifier.ModifierKeyword.STATIC_KEYWORD));
  }
  if (Modifier.isFinal(flags)) {
    result.add(newModifier(Modifier.ModifierKeyword.FINAL_KEYWORD));
  }
  if (Modifier.isSynchronized(flags)) {
    result.add(newModifier(Modifier.ModifierKeyword.SYNCHRONIZED_KEYWORD));
  }
  if (Modifier.isNative(flags)) {
    result.add(newModifier(Modifier.ModifierKeyword.NATIVE_KEYWORD));
  }
  if (Modifier.isStrictfp(flags)) {
    result.add(newModifier(Modifier.ModifierKeyword.STRICTFP_KEYWORD));
  }
  if (Modifier.isTransient(flags)) {
    result.add(newModifier(Modifier.ModifierKeyword.TRANSIENT_KEYWORD));
  }
  if (Modifier.isVolatile(flags)) {
    result.add(newModifier(Modifier.ModifierKeyword.VOLATILE_KEYWORD));
  }
  return result;
}

public List < Modifier > newModifiers ( int flags ) { if ( this . apiLevel == AST . JLS2 ) { unsupportedIn2 ( ) ; } List < Modifier > result = new ArrayList < Modifier > ( 3 ) ; if ( Modifier . isPublic ( flags ) ) { result . add ( newModifier ( Modifier . ModifierKeyword . PUBLIC_KEYWORD ) ) ; } if ( Modifier . isProtected ( flags ) ) { result . add ( newModifier ( Modifier . ModifierKeyword . PROTECTED_KEYWORD ) ) ; } if ( Modifier . isPrivate ( flags ) ) { result . add ( newModifier ( Modifier . ModifierKeyword . PRIVATE_KEYWORD ) ) ; } if ( Modifier . isAbstract ( flags ) ) { result . add ( newModifier ( Modifier . ModifierKeyword . ABSTRACT_KEYWORD ) ) ; } if ( Modifier . isStatic ( flags ) ) { result . add ( newModifier ( Modifier . ModifierKeyword . STATIC_KEYWORD ) ) ; } if ( Modifier . isFinal ( flags ) ) { result . add ( newModifier ( Modifier . ModifierKeyword . FINAL_KEYWORD ) ) ; } if ( Modifier . isSynchronized ( flags ) ) { result . add ( newModifier ( Modifier . ModifierKeyword . SYNCHRONIZED_KEYWORD ) ) ; } if ( Modifier . isNative ( flags ) ) { result . add ( newModifier ( Modifier . ModifierKeyword . NATIVE_KEYWORD ) ) ; } if ( Modifier . isStrictfp ( flags ) ) { result . add ( newModifier ( Modifier . ModifierKeyword . STRICTFP_KEYWORD ) ) ; } if ( Modifier . isTransient ( flags ) ) { result . add ( newModifier ( Modifier . ModifierKeyword . TRANSIENT_KEYWORD ) ) ; } if ( Modifier . isVolatile ( flags ) ) { result . add ( newModifier ( Modifier . ModifierKeyword . VOLATILE_KEYWORD ) ) ; } return result ; }
creates and returns a list of new unparented modifier nodes for the given modifier flags . when multiple modifiers are requested the modifiers nodes will appear in the following order : public , protected , private , abstract , static , final , synchronized , native , strictfp , transient , volatile . this order is consistent with the recommendations in jls2 8 . 1 . 1 , 8 . 3 . 1 , and 8 . 4 . 3 .
