@Override public ApiMetadata build() { MApiPermission[] permissions = this.permissions.values().toArray(new MApiPermission[0]); MApiTag[] tags = this.tags.values().toArray(new MApiTag[0]); return new ApiMetadata(name, title, summary, description, termsOfService, null == contact ? null : contact.build(), version, host, basePath, protocols.toArray(Arrays2.EMPTY_STRING_ARRAY), consumes.toArray(Arrays2.EMPTY_STRING_ARRAY), produces.toArray(Arrays2.EMPTY_STRING_ARRAY), Builders.buildMap(responses), Builders.buildMap(paths), Builders.buildMap(models), permissions, securityDefs.toArray(new MApiSecurityDef[]{}), tags, extension, attrs); }