private static void validateGettersSetters(Class<? extends PipelineOptions> iface,List<PropertyDescriptor> descriptors){
  List<MissingBeanMethod> missingBeanMethods=new ArrayList<>();
  for (  PropertyDescriptor propertyDescriptor : descriptors) {
    if (!(IGNORED_METHODS.contains(propertyDescriptor.getWriteMethod()) || propertyDescriptor.getReadMethod() != null)) {
      MissingBeanMethod method=new MissingBeanMethod();
      method.property=propertyDescriptor;
      method.methodType="getter";
      missingBeanMethods.add(method);
      continue;
    }
    if (!(IGNORED_METHODS.contains(propertyDescriptor.getReadMethod()) || propertyDescriptor.getWriteMethod() != null)) {
      MissingBeanMethod method=new MissingBeanMethod();
      method.property=propertyDescriptor;
      method.methodType="setter";
      missingBeanMethods.add(method);
      continue;
    }
  }
  throwForMissingBeanMethod(iface,missingBeanMethods);
}

private static void validateGettersSetters ( Class < ? extends PipelineOptions > iface , List < PropertyDescriptor > descriptors ) { List < MissingBeanMethod > missingBeanMethods = new ArrayList < > ( ) ; for ( PropertyDescriptor propertyDescriptor : descriptors ) { if ( ! ( IGNORED_METHODS . contains ( propertyDescriptor . getWriteMethod ( ) ) || propertyDescriptor . getReadMethod ( ) != null ) ) { MissingBeanMethod method = new MissingBeanMethod ( ) ; method . property = propertyDescriptor ; method . methodType = "getter" ; missingBeanMethods . add ( method ) ; continue ; } if ( ! ( IGNORED_METHODS . contains ( propertyDescriptor . getReadMethod ( ) ) || propertyDescriptor . getWriteMethod ( ) != null ) ) { MissingBeanMethod method = new MissingBeanMethod ( ) ; method . property = propertyDescriptor ; method . methodType = "setter" ; missingBeanMethods . add ( method ) ; continue ; } } throwForMissingBeanMethod ( iface , missingBeanMethods ) ; }
validates that every bean property of the given interface must have both a getter and setter .
