ImmutableTopicPath implements TopicPath { public static ImmutableTopicPath of(final String namespace, final String id, final Group group, final Channel channel, final Criterion criterion) { return new ImmutableTopicPath(namespace, id, group, channel, criterion, null, null, null); } private  ImmutableTopicPath(final String namespace, final String id, final Group group,
            @Nullable final Channel channel, final Criterion criterion, @Nullable final Action action, @Nullable final SearchAction searchAction,
            @Nullable final String subject); static ImmutableTopicPath of(final String namespace, final String id, final Group group,
            final Channel channel, final Criterion criterion); static ImmutableTopicPath of(final String namespace, final String id, final Group group,
            final Channel channel, final Criterion criterion, final Action action); static ImmutableTopicPath of(final String namespace, final String id, final Group group,
            final Channel channel, final Criterion criterion, final String subject); static ImmutableTopicPath of(final String namespace, final String id, final Group group,
            final Channel channel, final Criterion criterion, final SearchAction searchAction); @Override String getNamespace(); @Override Group getGroup(); @Override Channel getChannel(); @Override Criterion getCriterion(); @Override Optional<Action> getAction(); @Override Optional<SearchAction> getSearchAction(); @Override Optional<String> getSubject(); @Override String getId(); @Override String getPath(); @SuppressWarnings({"squid:MethodCyclomaticComplexity", "squid:S1067", "OverlyComplexMethod"}) @Override boolean equals(final Object o); @Override int hashCode(); @Override String toString();  }
@Test(expected = NullPointerException.class) public void tryToCreateInstanceWithNullNamespace() { ImmutableTopicPath.of(null, KNOWN_ID, KNOWN_GROUP, KNOWN_CHANNEL, KNOWN_CRITERION, KNOWN_ACTION); }
@Test(expected = NullPointerException.class) public void tryToCreateInstanceWithNullId() { ImmutableTopicPath.of(KNOWN_NAMESPACE, null, KNOWN_GROUP, KNOWN_CHANNEL, KNOWN_CRITERION, KNOWN_ACTION); }
@Test(expected = NullPointerException.class) public void tryToCreateInstanceWithNullGroup() { ImmutableTopicPath.of(KNOWN_NAMESPACE, KNOWN_ID, null, KNOWN_CHANNEL, KNOWN_CRITERION, KNOWN_ACTION); }
@Test(expected = NullPointerException.class) public void tryToCreateInstanceWithNullCriterion() { ImmutableTopicPath.of(KNOWN_NAMESPACE, KNOWN_ID, KNOWN_GROUP, KNOWN_CHANNEL, null, KNOWN_ACTION); }
@Test(expected = NullPointerException.class) public void tryToCreateInstanceWithNullChannel() { ImmutableTopicPath.of(KNOWN_NAMESPACE, KNOWN_ID, KNOWN_GROUP, null, KNOWN_CRITERION, KNOWN_ACTION); }
@Test(expected = NullPointerException.class) public void tryToCreateInstanceWithNullAction() { ImmutableTopicPath.of(KNOWN_NAMESPACE, KNOWN_ID, KNOWN_GROUP, KNOWN_CHANNEL, KNOWN_CRITERION, (TopicPath.Action) null); }