Skip to content

Instantly share code, notes, and snippets.

package anno;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.AnnotatedArrayType;
import java.lang.reflect.AnnotatedParameterizedType;
import java.lang.reflect.AnnotatedType;
import java.lang.reflect.Field;
import java.util.stream.Stream;
import static java.util.stream.Collectors.toList;
import java.util.List;
import java.util.Arrays;
import com.google.common.collect.Lists;
// javac -classpath c:\java\m2\repository\com\google\guava\guava\17.0\guava-17.0.jar X.java
// java -classpath .;c:\java\m2\repository\com\google\guava\guava\17.0\guava-17.0.jar X
public class X {
private Map<Integer,? extends Address> getAddressIndex(Optional<SubjectData> currentSubjectData) {
return currentSubjectData
.map(subjectData -> subjectData
.getAddresses()
.stream()
.filter(address -> address.getEsoId() != null)
.collect(toMap(Address::getEsoId, t -> t))
)
.orElse(emptyMap())
;