1   package com.lexicalscope.fluentreflection.endtoend;
2   
3   import java.util.ArrayList;
4   import java.util.List;
5   
6   final class ListBuilder<T> {
7       static <T> ListBuilder<T> list(final T firstItem) {
8           final ListBuilder<T> listBuilder = new ListBuilder<T>();
9           listBuilder.add(firstItem);
10          return listBuilder;
11      }
12  
13      private final List<T> list = new ArrayList<T>();
14  
15      ListBuilder<T> add(final T item) {
16          list.add(item);
17          return this;
18      }
19  
20      List<T> $() {
21          return list;
22      }
23  }