docs: protected FieldMetadata getFieldMetadataFrom( FieldDeclaration fieldDeclaration ) {
          if (fieldDeclaration != null && fieldDeclaration.getType() != null && (!fieldDeclaration.fragments().isEmpty())) {
              // type
              Type type = fieldDeclaration.getType();
              // Primitive type
              if (type.isPrimitiveType()) {
                  return processPrimitiveType(fieldDeclaration);
              }
              // ParameterizedType
              if (type.isParameterizedType()) {
                  return processParameterizedType(fieldDeclaration);
              }
              // SimpleType
              if (type.isSimpleType()) {
                  return processSimpleType(fieldDeclaration);
              }
              // ArrayType
              if (type.isArrayType()) {
                  return processArrayTypeFrom(fieldDeclaration);
              }
              // QualifiedType
              if (type.isQualifiedType()) {
                  // TODO
  
              }
              // WildcardType
              if (type.isWildcardType()) {
                  // TODO
              }
          }
          return null;
      }