private void validateNames(Label label,Parameter parameter) throws Exception {
  String[] options=label.getNames();
  String name=parameter.getName();
  if (!contains(options,name)) {
    String require=label.getName();
    if (name != require) {
      if (name == null || require == null) {
        throw new ConstructorException("Annotation does not match %s for '%s' in %s",label,name,parameter);
      }
      if (!name.equals(require)) {
        throw new ConstructorException("Annotation does not match %s for '%s' in %s",label,name,parameter);
      }
    }
  }
}

private void validateNames ( Label label , Parameter parameter ) throws Exception { String [ ] options = label . getNames ( ) ; String name = parameter . getName ( ) ; if ( ! contains ( options , name ) ) { String require = label . getName ( ) ; if ( name != require ) { if ( name == null || require == null ) { throw new ConstructorException ( "Annotation does not match %s for '%s' in %s" , label , name , parameter ) ; } if ( ! name . equals ( require ) ) { throw new ConstructorException ( "Annotation does not match %s for '%s' in %s" , label , name , parameter ) ; } } } }
this is used to validate the names associated with the parameters . validation is performed by checking that the parameter name is present in the list of names the label is known by . this is used to ensure that the if the label is a union the parameter is one of the names declared within the union .
