/**
  * Defined a dictionnary attribute for a method or field annotated with a Param attribute
  */
 private static DictionaryAttribute CompleteComponentTypeDefinitionParam(TypeDefinition typeDef, KevoreeFactory factory, Type type, string name, Param paramAttribute)
 {
     DataType dataType = GetDatatypeByType(type);
     DictionaryAttribute dicAtt = factory.createDictionaryAttribute();
     if (typeDef.getDictionaryType() == null)
     {
         typeDef.setDictionaryType(factory.createDictionaryType());
     }
     dicAtt.setName(name);
     dicAtt.setDatatype(dataType);
     var opt = paramAttribute.Optional;
     var fragmentDependent = paramAttribute.FragmentDependent;
     var defaultValue = paramAttribute.DefaultValue;
     dicAtt.setOptional(opt ? Boolean.TRUE : Boolean.FALSE);
     dicAtt.setFragmentDependant(fragmentDependent ? Boolean.TRUE : Boolean.FALSE);
     dicAtt.setDefaultValue(defaultValue);
     return dicAtt;
 }