@Override
  public Array reallyRead(Variable client, CancelTask cancelTask) throws IOException {
    """
	public by accident, do not call directly.
	
	@return Array
	@throws IOException on error
    """
    if (isMemberOfStructure()) { // LOOK should be UnsupportedOperationException ??
      List<String> memList = new ArrayList<>();
      memList.add(this.getShortName());
      Structure s = getParentStructure().select(memList);
      ArrayStructure as = (ArrayStructure) s.read();
      return as.extractMemberArray(as.findMember(getShortName()));
    }

    try {
      return ncfile.readData(this, getShapeAsSection());
    } catch (InvalidRangeException e) {
      e.printStackTrace();
      throw new IOException(e.getMessage()); // cant happen haha
    }
  }
@Override
  public Array reallyRead(Variable client, CancelTask cancelTask) throws IOException {
    if (isMemberOfStructure()) { // LOOK should be UnsupportedOperationException ??
      List<String> memList = new ArrayList<>();
      memList.add(this.getShortName());
      Structure s = getParentStructure().select(memList);
      ArrayStructure as = (ArrayStructure) s.read();
      return as.extractMemberArray(as.findMember(getShortName()));
    }

    try {
      return ncfile.readData(this, getShapeAsSection());
    } catch (InvalidRangeException e) {
      e.printStackTrace();
      throw new IOException(e.getMessage()); // cant happen haha
    }
  }
@ Override public Array reallyRead ( Variable client , CancelTask cancelTask ) throws IOException { if ( isMemberOfStructure ( ) ) { // LOOK should be UnsupportedOperationException ?? List < String > memList = new ArrayList <> ( ) ; memList . add ( this . getShortName ( ) ) ; Structure s = getParentStructure ( ) . select ( memList ) ; ArrayStructure as = ( ArrayStructure ) s . read ( ) ; return as . extractMemberArray ( as . findMember ( getShortName ( ) ) ) ; } try { return ncfile . readData ( this , getShapeAsSection ( ) ) ; } catch ( InvalidRangeException e ) { e . printStackTrace ( ) ; throw new IOException ( e . getMessage ( ) ) ; // cant happen haha } }
public by accident, do not call directly.

@return Array
@throws IOException on error
public by accident do not call directly .