private static Optional<Tuple3<Optional<String>, javaslang.collection.List<String>, String>> determineMappingOutputAttribute(final MappingAttributePathInstance mappingOutput) {
return Optional.ofNullable(mappingOutput)
.flatMap(mappingOutput1 -> Optional.ofNullable(mappingOutput1.getAttributePath()))
.flatMap(attributePath -> Optional.ofNullable(attributePath.toAttributePath()))
.flatMap(attributePathString -> {
final String escapedMappingOutputAP = StringEscapeUtils.escapeXml(attributePathString);
final javaslang.collection.List<String> mappingOutputAttributes = javaslang.collection.List.of(escapedMappingOutputAP.split(ATTRIBUTE_DELIMITER));
if (mappingOutputAttributes.isEmpty()) {
return Optional.of(Tuple.of(Optional.empty(), mappingOutputAttributes.init(), escapedMappingOutputAP));
}
final String lastAttribute = mappingOutputAttributes.last();
final String mappingOutputRoot = mappingOutputAttributes.init().mkString(ATTRIBUTE_DELIMITER);
final Optional<String> optionalMappingOutputRoot = Optional.of(mappingOutputRoot).filter(mappingOutputRoot1 -> !mappingOutputRoot1.isEmpty());
return Optional.of(Tuple.of(optionalMappingOutputRoot, mappingOutputAttributes.init(), lastAttribute));
});
}