Merge pull request #59464 from dixudx/fix_all_typos

Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix all the typos across the project

**What this PR does / why we need it**:
There are lots of typos across the project. We should avoid small PRs on fixing those annoying typos, which is time-consuming and low efficient.

This PR does fix all the typos across the project currently. And with #59463, typos could be avoided when a new PR gets merged.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:
/sig testing
/area test-infra
/sig release
/cc @ixdy
/assign @fejta

**Release note**:

```release-note
None
```

Kubernetes-commit: 317853c90c674920bfbbdac54fe66092ddc9f15f
This commit is contained in:
Kubernetes Publisher 2018-02-10 22:12:45 -08:00
commit 7cd1d3291b
9 changed files with 90 additions and 90 deletions

164
Godeps/Godeps.json generated
View File

@ -284,331 +284,331 @@
},
{
"ImportPath": "k8s.io/api/admissionregistration/v1alpha1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/admissionregistration/v1beta1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/apps/v1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/apps/v1beta1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/apps/v1beta2",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/authentication/v1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/authentication/v1beta1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/authorization/v1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/authorization/v1beta1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/autoscaling/v1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/autoscaling/v2beta1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/batch/v1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/batch/v1beta1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/batch/v2alpha1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/certificates/v1beta1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/core/v1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/events/v1beta1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/extensions/v1beta1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/imagepolicy/v1alpha1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/networking/v1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/policy/v1beta1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/rbac/v1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/rbac/v1alpha1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/rbac/v1beta1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/scheduling/v1alpha1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/settings/v1alpha1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/storage/v1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/storage/v1alpha1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/api/storage/v1beta1",
"Rev": "beab4da9671e79815b7876363175af45aa180eb5"
"Rev": "2694da5be9c4ab4f3fd826112d4c3f71b8bf4b23"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/equality",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/testing",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/testing/fuzzer",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/testing/roundtrip",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apimachinery",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apimachinery/announced",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apimachinery/registered",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/fuzzer",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/fields",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/labels",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/selection",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/types",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream/spdy",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/remotecommand",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/version",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/watch",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/netutil",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
"Rev": "6212319467788d635606616d5c6d87ded0321d8c"
"Rev": "616b23029fa3dc3e0ccefd47963f5651a6543d94"
},
{
"ImportPath": "k8s.io/kube-openapi/pkg/util/proto",

View File

@ -192,7 +192,7 @@ func Test_tokenSource_applicationDefaultCredentials(t *testing.T) {
t.Fatalf("failed to get a token source: %+v", err)
}
if ts == nil {
t.Fatal("returned nil token soruce")
t.Fatal("returned nil token source")
}
}

View File

@ -302,7 +302,7 @@ func TestCreateBackoffManager(t *testing.T) {
backoff.UpdateBackoff(theUrl, nil, 500)
backoff = readExpBackoffConfig()
if backoff.CalculateBackoff(theUrl)/time.Second != 0 {
t.Errorf("Zero backoff duration, but backoff still occuring.")
t.Errorf("Zero backoff duration, but backoff still occurring.")
}
// No env -> No backoff.

View File

@ -107,7 +107,7 @@ func (config *DirectClientConfig) RawConfig() (clientcmdapi.Config, error) {
// ClientConfig implements ClientConfig
func (config *DirectClientConfig) ClientConfig() (*restclient.Config, error) {
// check that getAuthInfo, getContext, and getCluster do not return an error.
// Do this before checking if the curent config is usable in the event that an
// Do this before checking if the current config is usable in the event that an
// AuthInfo, Context, or Cluster config with user-defined names are not found.
// This provides a user with the immediate cause for error if one is found
configAuthInfo, err := config.getAuthInfo()

View File

@ -94,7 +94,7 @@ func TestInsecureOverridesCA(t *testing.T) {
}
func TestMergeContext(t *testing.T) {
const namespace = "overriden-namespace"
const namespace = "overridden-namespace"
config := createValidTestConfig()
clientBuilder := NewNonInteractiveClientConfig(*config, "clean", &ConfigOverrides{}, nil)

View File

@ -260,7 +260,7 @@ func testTryAcquireOrRenew(t *testing.T, objectType string) {
}
if test.expectSuccess != le.tryAcquireOrRenew() {
t.Errorf("[%v]unexpected result of tryAcquireOrRenew: [succeded=%v]", i, !test.expectSuccess)
t.Errorf("[%v]unexpected result of tryAcquireOrRenew: [succeeded=%v]", i, !test.expectSuccess)
}
le.observedRecord.AcquireTime = metav1.Time{}

View File

@ -179,7 +179,7 @@ func TestGetListener(t *testing.T) {
t.Errorf("Test case #%d failed: Listener does not listen on expected address: asked '%v' got '%v'", i, testCase.ExpectedListenerAddress, host)
}
if port != expectedListenerPort {
t.Errorf("Test case #%d failed: Listener does not listen on exepected port: asked %v got %v", i, expectedListenerPort, port)
t.Errorf("Test case #%d failed: Listener does not listen on expected port: asked %v got %v", i, expectedListenerPort, port)
}
listener.Close()

View File

@ -190,7 +190,7 @@ func TestStructInput(t *testing.T) {
{"nonexistent field", "{.hello}", storeData, "hello is not found", false},
{"invalid array", "{.Labels[0]}", storeData, "map[string]int is not array or slice", false},
{"invalid filter operator", "{.Book[?(@.Price<>10)]}", storeData, "unrecognized filter operator <>", false},
{"redundent end", "{range .Labels.*}{@}{end}{end}", storeData, "not in range, nothing to end", false},
{"redundant end", "{range .Labels.*}{@}{end}{end}", storeData, "not in range, nothing to end", false},
}
testFailJSONPath(failStoreTests, t)
}

View File

@ -89,7 +89,7 @@ type waitFor struct {
// waitForPriorityQueue implements a priority queue for waitFor items.
//
// waitForPriorityQueue implements heap.Interface. The item occuring next in
// waitForPriorityQueue implements heap.Interface. The item occurring next in
// time (i.e., the item with the smallest readyAt) is at the root (index 0).
// Peek returns this minimum item at index 0. Pop returns the minimum item after
// it has been removed from the queue and placed at index Len()-1 by