== Why is this an issue?

include::description.adoc[]

=== Noncompliant code example

[source,text]
----
interface IVehicle { void Go(); }
public class Submarine : IVehicle 
{ 
  public void Go() {  /* ... */ }
  public void Submerge(int depth) { /* ... */ }
}

// ...
public void Travel(Submarine transport) // Noncompliant; no class-specific features used
{
  transport.Go();
}

public void ExploreDepths(Submarine transport) // Compliant; class-specific feature used
{
  var depth = 0;
  // ...
  transport.Submerge(depth);
}
----


=== Compliant solution

[source,text]
----
interface IVehicle { void Go(); }
public class Submarine : IVehicle 
{ 
  public void Go() {  /* ... */ }
  public void Submerge(int depth) { /* ... */ }
}

// ...
public void Travel(IVehicle transport)
{
  transport.Go();
}

public void ExploreDepths(Submarine transport)
{
  var depth = 0;
  // ...
  transport.Submerge(depth);
}
----

