@SuppressWarnings("unchecked") @Override public T build() { return (T) new BasicDataCenterInfo(name, addresses); } }
public static Observable<? extends DataCenterInfo> forDataCenterType(DataCenterType type) { switch (type) { case Basic: return Observable.just(BasicDataCenterInfo.fromSystemData()); case AWS: return new AwsDataCenterInfoProvider().dataCenterInfo(); } throw new IllegalStateException("Unhandled type " + type); } }