public ClassBuilder field(FieldBuilder fieldBuilder) {
		if ( fieldBuilder == null )
			return this ;
		
		FieldMetadata metadata = fieldBuilder.build();
		
		// check if the field already exists if so then do nothing
		JavaSymbolName fieldName = metadata.getFieldName() ;
		for (FieldMetadataBuilder field : builder.getDeclaredFields()) {
			if (fieldName.equals(field.getFieldName()))
				return this;
		}
		
		builder.addField(metadata);
		return this;
	}