private boolean areMethodModifiedCompatibile(JDiffMethod apiMethod,Method reflectedMethod){
  if (((apiMethod.mModifier & Modifier.SYNCHRONIZED) == 0) && ((reflectedMethod.getModifiers() & Modifier.SYNCHRONIZED) != 0)) {
    return false;
  }
  int mod1=reflectedMethod.getModifiers() & ~(Modifier.NATIVE | Modifier.SYNCHRONIZED);
  int mod2=apiMethod.mModifier & ~(Modifier.NATIVE | Modifier.SYNCHRONIZED);
  if ((mModifier & Modifier.FINAL) != 0) {
    mod1&=~Modifier.FINAL;
    mod2&=~Modifier.FINAL;
  }
  return mod1 == mod2;
}

private boolean areMethodModifiedCompatibile ( JDiffMethod apiMethod , Method reflectedMethod ) { if ( ( ( apiMethod . mModifier & Modifier . SYNCHRONIZED ) == 0 ) && ( ( reflectedMethod . getModifiers ( ) & Modifier . SYNCHRONIZED ) != 0 ) ) { return false ; } int mod1 = reflectedMethod . getModifiers ( ) & ~ ( Modifier . NATIVE | Modifier . SYNCHRONIZED ) ; int mod2 = apiMethod . mModifier & ~ ( Modifier . NATIVE | Modifier . SYNCHRONIZED ) ; if ( ( mModifier & Modifier . FINAL ) != 0 ) { mod1 &= ~ Modifier . FINAL ; mod2 &= ~ Modifier . FINAL ; } return mod1 == mod2 ; }
checks to ensure that the modifiers value for two methods are compatible . allowable differences are : - synchronized is allowed to be removed from an apimethod that has it - the native modified is ignored
