@SuppressWarnings({ "null", "unused" }) @Override public final HtmlElement<?> build(@NotNull Media media) { HtmlElement<?> mediaElement = getImageElement(media); // set responsive image sources JSONArray sources = getResponsiveImageSources(media); setResponsiveImageSource(mediaElement, sources, media); // set additional attributes setAdditionalAttributes(mediaElement, media); // enable drag&drop for media source - if none is specified use first one defined in config MediaSource mediaSource = media.getMediaSource(); if (mediaSource == null && !mediaHandlerConfig.getSources().isEmpty()) { Class<? extends MediaSource> mediaSourceClass = mediaHandlerConfig.getSources().iterator().next(); mediaSource = AdaptTo.notNull(adaptable, mediaSourceClass); } if (mediaSource != null) { mediaSource.enableMediaDrop(mediaElement, media.getMediaRequest()); } return mediaElement; }