code: private ArrayList<ConnectionDefinition> processConnectionDefinitions(AnnotationRepository annotationRepository,
        ClassLoader classLoader,
        ArrayList<? extends ConfigProperty> configProperties,
        ArrayList<? extends ConfigProperty> plainConfigProperties)
        throws Exception
     {
        Collection<Annotation> values = annotationRepository.getAnnotation(ConnectionDefinitions.class);
        if (values != null)
        {
           if (values.size() == 1)
           {
              Annotation annotation = values.iterator().next();
              ConnectionDefinitions connectionDefinitionsAnnotation = (ConnectionDefinitions) annotation
                 .getAnnotation();
  
              if (trace)
                 log.trace("Processing: " + connectionDefinitionsAnnotation);
  
              return attachConnectionDefinitions(connectionDefinitionsAnnotation, annotation.getClassName(),
                                                 classLoader,
                                                 configProperties, plainConfigProperties);
           }
           else
              throw new ValidateException(bundle.moreThanOneConnectionDefinitionsDefined());
        }
        return null;
  
     }
docs: Process: @ConnectionDefinitions
  @param annotationRepository The annotation repository
  @param classLoader The class loader
  @param configProperties Config properties
  @param plainConfigProperties Plain config properties
  @return The updated metadata
  @exception Exception Thrown if an error occurs