Added two useful annotations: @NotNull and @Immutable