class PropertyElementDescriptors {

    void addDescriptor(Class<? extends Annotation> uiElementAnnotationType,
            ElementDescriptor descriptor,
            Class<?> pmoClass) {
        Validate.isTrue(pmoPropertyName.equals(descriptor.getPmoPropertyName()), String
                .format("Cannot add descriptor for property %s to PropertyElementDescriptors intended for property %s",
                        descriptor.getPmoPropertyName(), pmoPropertyName));

        if (descriptors.isEmpty()) {
            position = descriptor.getPosition();
        } else {
            validateDynamicFieldDescriptor(descriptor, pmoClass);
        }

        descriptors.put(uiElementAnnotationType, descriptor);
    }

      PropertyElementDescriptors(String pmoPropertyName);

}