public Self withFirstChild(final @NotNull ElementPattern<? extends ParentType> pattern) {
    return withChildren(StandardPatterns.<ParentType>collection().first(pattern));
  }
public Self withFirstChild(final @NotNull ElementPattern<? extends ParentType> pattern)