class MetaInject extends BaseStep implements StepInterface {

  public static void removeUnavailableStepsFromMapping( Map<TargetStepAttribute, SourceStepField> targetMap,
                                                        Set<SourceStepField> unavailableSourceSteps, Set<TargetStepAttribute> unavailableTargetSteps ) {
    Iterator<Entry<TargetStepAttribute, SourceStepField>> targetMapIterator = targetMap.entrySet().iterator();
    while ( targetMapIterator.hasNext() ) {
      Entry<TargetStepAttribute, SourceStepField> entry = targetMapIterator.next();
      SourceStepField currentSourceStepField = entry.getValue();
      TargetStepAttribute currentTargetStepAttribute = entry.getKey();
      if ( unavailableSourceSteps.contains( currentSourceStepField ) || unavailableTargetSteps.contains(
        currentTargetStepAttribute ) ) {
        targetMapIterator.remove();
      }
    }
  }

  public  MetaInject(
    StepMeta stepMeta, StepDataInterface stepDataInterface, int copyNr, TransMeta transMeta, Trans trans );

}