code: public List<GridNode> getEnteringNodesSP() {
          List<GridNode> nodes = new ArrayList<GridNode>();
          List<GridNode> surroundingNodes = getSurroundingNodes();
          for( GridNode flowNode : surroundingNodes ) {
              if (flowNode != null) {
                  GridNode downstream = flowNode.goDownstreamSP();
                  if (downstream.isValid() && this.equals(downstream)) {
                      nodes.add(flowNode);
                  }
              }
          }
          return nodes;
      }
docs: Gets all surrounding {@link GridNode nodes} that <b>DO</b> flow into this node by steepest path rule.
  
  @return the nodes that flow into this node.