@Override public <T extends Child<Project>> Stream<T> streamOf(Class<T> childClass) { if (Dbms.class.equals(childClass)) { @SuppressWarnings("unchecked") final Stream<T> result = (Stream<T>) dbmsChildren.stream().sorted(Nameable.COMPARATOR); return result; } else if (PluginData.class.equals(childClass)) { @SuppressWarnings("unchecked") final Stream<T> result = (Stream<T>) pluginDataChildren.stream().sorted(Nameable.COMPARATOR); return result; } else { throw new SpeedmentException( "'" + childClass.getName() + "' is not a child to '" + getClass().getSimpleName() + "'."); } }
@Override public Stream<? extends Child<Project>> stream() { return Stream.concat( dbmsChildren.stream().sorted(Nameable.COMPARATOR), pluginDataChildren.stream().sorted(Nameable.COMPARATOR)); }