class ServiceInstanceOperationsImpl extends ExtensibleResourceAdapter<ServiceInstance>
    implements ServiceInstanceResource {

  @Override
  public ExtensibleResourceAdapter<ServiceInstance> newInstance() {
    return new ServiceInstanceOperationsImpl();
  }

  @Override
  public ServiceBinding bind(String secretName) {<FILL_FUNCTION_BODY>}

}

    ServiceInstance item = get();
    return client.adapt(ServiceCatalogClient.class)
        .serviceBindings().create(new ServiceBindingBuilder()
            .withNewMetadata()
            .withName(item.getMetadata().getName())
            .withNamespace(item.getMetadata().getNamespace())
            .endMetadata()
            .withNewSpec()
            .withSecretName(secretName)
            .withNewInstanceRef(item.getMetadata().getName())
            .endSpec()
            .build());
  
<methods>public void <init>() ,public ExtensibleResource<ServiceInstance> dryRun(boolean) ,public ExtensibleResource<ServiceInstance> fieldManager(java.lang.String) ,public ExtensibleResource<ServiceInstance> fieldValidation(io.fabric8.kubernetes.client.dsl.FieldValidateable.Validation) ,public ExtensibleResource<ServiceInstance> forceConflicts() ,public ExtensibleResource<ServiceInstance> fromServer() ,public ServiceInstance getItem() ,public C inWriteContext(Class<C>) ,public ExtensibleResourceAdapter<ServiceInstance> init(ExtensibleResource<ServiceInstance>, io.fabric8.kubernetes.client.Client) ,public ExtensibleResource<ServiceInstance> lockResourceVersion(java.lang.String) ,public ExtensibleResource<ServiceInstance> lockResourceVersion() ,public abstract ExtensibleResourceAdapter<ServiceInstance> newInstance() ,public ExtensibleResource<ServiceInstance> subresource(java.lang.String) ,public ExtensibleResource<ServiceInstance> unlock() ,public ExtensibleResource<ServiceInstance> withGracePeriod(long) ,public ExtensibleResource<ServiceInstance> withIndexers(Map<java.lang.String,Function<ServiceInstance,List<java.lang.String>>>) ,public ExtensibleResource<ServiceInstance> withLimit(java.lang.Long) ,public ExtensibleResource<ServiceInstance> withPropagationPolicy(io.fabric8.kubernetes.api.model.DeletionPropagation) ,public ExtensibleResource<ServiceInstance> withResourceVersion(java.lang.String) ,public ExtensibleResource<ServiceInstance> withTimeout(long, java.util.concurrent.TimeUnit) ,public ExtensibleResource<ServiceInstance> withTimeoutInMillis(long) <variables>protected io.fabric8.kubernetes.client.Client client,protected ExtensibleResource<ServiceInstance> resource