Program: 20416
Project: 20416
Buggy source:
@Override public By buildBy(){
  assertValidAnnotations();
  SelendroidFindBy selendroidBy=mobileField.getAnnotation(SelendroidFindBy.class);
  if (selendroidBy != null && ANDROID.toUpperCase().equals(platform) && "String_Node_Str".toUpperCase().equals(automation)) {
    return getMobileBy(selendroidBy,getFilledValue(selendroidBy));
  }
  SelendroidFindBys selendroidBys=mobileField.getAnnotation(SelendroidFindBys.class);
  if (selendroidBys != null && ANDROID.toUpperCase().equals(platform) && "String_Node_Str".toUpperCase().equals(automation)) {
    return getMobileBy(selendroidBys,getFilledValue(selendroidBys));
  }
  SelendroidFindAll selendroidAll=mobileField.getAnnotation(SelendroidFindAll.class);
  if (selendroidAll != null && ANDROID.toUpperCase().equals(platform) && "String_Node_Str".toUpperCase().equals(automation)) {
    return getMobileBy(selendroidAll,getFilledValue(selendroidAll));
  }
  AndroidFindBy androidBy=mobileField.getAnnotation(AndroidFindBy.class);
  if (androidBy != null && ANDROID.toUpperCase().equals(platform)) {
    return getMobileBy(androidBy,getFilledValue(androidBy));
  }
  AndroidFindBys androidBys=mobileField.getAnnotation(AndroidFindBys.class);
  if (androidBys != null && ANDROID.toUpperCase().equals(platform)) {
    return getComplexMobileBy(androidBys.value(),ByChained.class);
  }
  AndroidFindAll androidFindAll=mobileField.getAnnotation(AndroidFindAll.class);
  if (androidFindAll != null && ANDROID.toUpperCase().equals(platform)) {
    return getComplexMobileBy(androidFindAll.value(),ByAll.class);
  }
  iOSFindBy iOSBy=mobileField.getAnnotation(iOSFindBy.class);
  if (iOSBy != null && IOS.toUpperCase().equals(platform)) {
    return getMobileBy(iOSBy,getFilledValue(iOSBy));
  }
  iOSFindBys iOSBys=mobileField.getAnnotation(iOSFindBys.class);
  if (iOSBys != null && IOS.toUpperCase().equals(platform)) {
    return getComplexMobileBy(iOSBys.value(),ByChained.class);
  }
  iOSFindAll iOSFindAll=mobileField.getAnnotation(iOSFindAll.class);
  if (iOSFindAll != null && IOS.toUpperCase().equals(platform)) {
    return getComplexMobileBy(iOSFindAll.value(),ByAll.class);
  }
  return super.buildBy();
}

Fixed version (ground truth):
@Override public By buildBy(){
  assertValidAnnotations();
  SelendroidFindBy selendroidBy=mobileField.getAnnotation(SelendroidFindBy.class);
  if (selendroidBy != null && ANDROID.toUpperCase().equals(platform) && "String_Node_Str".toUpperCase().equals(automation)) {
    return getMobileBy(selendroidBy,getFilledValue(selendroidBy));
  }
  SelendroidFindBys selendroidBys=mobileField.getAnnotation(SelendroidFindBys.class);
  if (selendroidBys != null && ANDROID.toUpperCase().equals(platform) && "String_Node_Str".toUpperCase().equals(automation)) {
    return getComplexMobileBy(selendroidBys.value(),ByChained.class);
  }
  SelendroidFindAll selendroidAll=mobileField.getAnnotation(SelendroidFindAll.class);
  if (selendroidAll != null && ANDROID.toUpperCase().equals(platform) && "String_Node_Str".toUpperCase().equals(automation)) {
    return getComplexMobileBy(selendroidAll.value(),ByAll.class);
  }
  AndroidFindBy androidBy=mobileField.getAnnotation(AndroidFindBy.class);
  if (androidBy != null && ANDROID.toUpperCase().equals(platform)) {
    return getMobileBy(androidBy,getFilledValue(androidBy));
  }
  AndroidFindBys androidBys=mobileField.getAnnotation(AndroidFindBys.class);
  if (androidBys != null && ANDROID.toUpperCase().equals(platform)) {
    return getComplexMobileBy(androidBys.value(),ByChained.class);
  }
  AndroidFindAll androidFindAll=mobileField.getAnnotation(AndroidFindAll.class);
  if (androidFindAll != null && ANDROID.toUpperCase().equals(platform)) {
    return getComplexMobileBy(androidFindAll.value(),ByAll.class);
  }
  iOSFindBy iOSBy=mobileField.getAnnotation(iOSFindBy.class);
  if (iOSBy != null && IOS.toUpperCase().equals(platform)) {
    return getMobileBy(iOSBy,getFilledValue(iOSBy));
  }
  iOSFindBys iOSBys=mobileField.getAnnotation(iOSFindBys.class);
  if (iOSBys != null && IOS.toUpperCase().equals(platform)) {
    return getComplexMobileBy(iOSBys.value(),ByChained.class);
  }
  iOSFindAll iOSFindAll=mobileField.getAnnotation(iOSFindAll.class);
  if (iOSFindAll != null && IOS.toUpperCase().equals(platform)) {
    return getComplexMobileBy(iOSFindAll.value(),ByAll.class);
  }
  return super.buildBy();
}