private GraphQLObjectType.Builder rootMutationBuilder;
private GraphQLObjectMapper graphQLObjectMapper;
private List<Object> graphQLControllers = new LinkedList<>();
private List<IGraphQLTypeMapper> typeMappers = new LinkedList<>();
private Optional<ITypeNamingStrategy> typeNamingStrategy = Optional.absent();
<BUG>private Optional<IDataFetcherFactory> dataFetcherFactory = Optional.absent();
private Optional<Class<? extends IDataFetcher>> defaultMethodDataFetcher = Optional.absent();</BUG>
private RelayDefaultNodeHandler.Builder relayDefaultNodeHandler = RelayDefaultNodeHandler.builder();
private List<Class> relayNodeTypes = Lists.newArrayList();
private ITypeFactory typeFactory = new SimpleTypeFactory();

private GraphQLObjectType.Builder rootMutationBuilder;
private GraphQLObjectMapper graphQLObjectMapper;
private List<Object> graphQLControllers = new LinkedList<>();
private List<IGraphQLTypeMapper> typeMappers = new LinkedList<>();
private Optional<ITypeNamingStrategy> typeNamingStrategy = Optional.absent();
private Optional<IDataFetcherFactory> dataFetcherFactory = Optional.absent();
private Map<Class, Class<? extends DefaultTypeConverter>> defaultTypeConverters;
private Optional<Class<? extends IDataFetcher>> defaultMethodDataFetcher = Optional.absent();
private RelayDefaultNodeHandler.Builder relayDefaultNodeHandler = RelayDefaultNodeHandler.builder();
private List<Class> relayNodeTypes = Lists.newArrayList();
private ITypeFactory typeFactory = new SimpleTypeFactory();
