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;
    }
protected FieldMetadata getFieldMetadataFrom ( FieldDeclaration fieldDeclaration ) { if ( fieldDeclaration != null && fieldDeclaration . getType ( ) != null && ( ! fieldDeclaration . fragments ( ) . isEmpty ( ) ) ) { Type type = fieldDeclaration . getType ( ) ; if ( type . isPrimitiveType ( ) ) { return processPrimitiveType ( fieldDeclaration ) ; } if ( type . isParameterizedType ( ) ) { return processParameterizedType ( fieldDeclaration ) ; } if ( type . isSimpleType ( ) ) { return processSimpleType ( fieldDeclaration ) ; } if ( type . isArrayType ( ) ) { return processArrayTypeFrom ( fieldDeclaration ) ; } if ( type . isQualifiedType ( ) ) { } if ( type . isWildcardType ( ) ) { } } return null ; }
Gets a field meta data from {@link FieldDeclaration}.

@param fieldDeclaration - the declaration.
@return fieldMetadata - meta data.